/* Editor Settings: expandtabs and use 4 spaces for indentation * ex: set softtabstop=4 tabstop=8 expandtab shiftwidth=4: * * -*- mode: c, c-basic-offset: 4 -*- */ /* * Copyright Likewise Software 2004-2008 * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. You should have received a copy of the GNU General * Public License along with this program. If not, see * . * * LIKEWISE SOFTWARE MAKES THIS SOFTWARE AVAILABLE UNDER OTHER LICENSING * TERMS AS WELL. IF YOU HAVE ENTERED INTO A SEPARATE LICENSE AGREEMENT * WITH LIKEWISE SOFTWARE, THEN YOU MAY ELECT TO USE THE SOFTWARE UNDER THE * TERMS OF THAT SOFTWARE LICENSE AGREEMENT INSTEAD OF THE TERMS OF THE GNU * GENERAL PUBLIC LICENSE, NOTWITHSTANDING THE ABOVE NOTICE. IF YOU * HAVE QUESTIONS, OR WISH TO REQUEST A COPY OF THE ALTERNATE LICENSING * TERMS OFFERED BY LIKEWISE SOFTWARE, PLEASE CONTACT LIKEWISE SOFTWARE AT * license@likewisesoftware.com */ #include "statusdialog.h" #include "common.h" #include #include struct StatusDialog { GtkDialog* dialog; GtkEntry* computer_entry; GtkEntry* domain_entry; }; StatusDialog* statusdialog_new(const char* computer, const char* domain) { GladeXML* xml = glade_xml_new (DOMAINJOIN_XML, "StatusDialog", NULL); StatusDialog* dialog = g_new0(StatusDialog, 1); if (!xml || !dialog) { goto cleanup; } dialog->dialog = GTK_DIALOG(glade_xml_get_widget(xml, "StatusDialog")); g_assert(dialog->dialog != NULL); g_object_ref(G_OBJECT(dialog->dialog)); dialog->computer_entry = GTK_ENTRY(glade_xml_get_widget(xml, "StatusComputerEntry")); g_assert(dialog->computer_entry != NULL); g_object_ref(G_OBJECT(dialog->computer_entry)); if (computer) gtk_entry_set_text(dialog->computer_entry, computer); dialog->domain_entry = GTK_ENTRY(glade_xml_get_widget(xml, "StatusDomainEntry")); g_assert(dialog->domain_entry != NULL); g_object_ref(G_OBJECT(dialog->domain_entry)); if (domain) gtk_entry_set_text(dialog->domain_entry, domain); dialog_insert_likewise_logo(dialog->dialog); cleanup: if (xml) { g_object_unref(xml); xml = NULL; } return dialog; } int statusdialog_run(StatusDialog* dialog) { return gtk_dialog_run(dialog->dialog); } GtkWindow* statusdialog_get_gtk_window(StatusDialog* dialog) { return GTK_WINDOW(dialog->dialog); } void statusdialog_delete(StatusDialog* dialog) { g_object_unref(G_OBJECT(dialog->dialog)); g_object_unref(G_OBJECT(dialog->computer_entry)); g_object_unref(G_OBJECT(dialog->domain_entry)); gtk_widget_destroy(GTK_WIDGET(dialog->dialog)); g_free(dialog); }