void ImgurHistoryDialog::populateTable(const QStringList &logEntries) { for (const auto &entry : logEntries) { addEntryToTable(entry, logEntries.indexOf(entry)); } mTableWidget->resizeColumnsToContents(); }
GtkAuthenticationDialog::GtkAuthenticationDialog(GtkWindow* parentWindow, SoupSession* session, SoupMessage* message, SoupAuth* auth) : m_dialog(gtk_dialog_new()) , m_session(session) , m_message(message) , m_auth(auth) , m_loginEntry(0) , m_passwordEntry(0) , m_rememberCheckButton(0) #ifdef SOUP_TYPE_PASSWORD_MANAGER , m_isSavingPassword(false) , m_savePasswordHandler(0) #endif { GtkDialog* dialog = GTK_DIALOG(m_dialog); gtk_dialog_add_buttons(dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); // Set the dialog up with HIG properties. gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); gtk_box_set_spacing(GTK_BOX(gtk_dialog_get_content_area(dialog)), 2); /* 2 * 5 + 2 = 12 */ gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_action_area(dialog)), 5); gtk_box_set_spacing(GTK_BOX(gtk_dialog_get_action_area(dialog)), 6); GtkWindow* window = GTK_WINDOW(m_dialog); gtk_window_set_resizable(window, FALSE); gtk_window_set_title(window, ""); gtk_window_set_icon_name(window, GTK_STOCK_DIALOG_AUTHENTICATION); gtk_dialog_set_default_response(dialog, GTK_RESPONSE_OK); if (parentWindow) gtk_window_set_transient_for(window, parentWindow); // Build contents. #ifdef GTK_API_VERSION_2 GtkWidget* hBox = gtk_hbox_new(FALSE, 12); #else GtkWidget* hBox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12); #endif gtk_container_set_border_width(GTK_CONTAINER(hBox), 5); gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(dialog)), hBox, TRUE, TRUE, 0); GtkWidget* icon = gtk_image_new_from_stock(GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG); gtk_misc_set_alignment(GTK_MISC(icon), 0.5, 0.0); gtk_box_pack_start(GTK_BOX(hBox), icon, FALSE, FALSE, 0); #ifdef GTK_API_VERSION_2 GtkWidget* mainVBox = gtk_vbox_new(FALSE, 18); #else GtkWidget* mainVBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); #endif gtk_box_pack_start(GTK_BOX(hBox), mainVBox, TRUE, TRUE, 0); SoupURI* uri = soup_message_get_uri(m_message.get()); GOwnPtr<char>description(g_strdup_printf(_("A username and password are being requested by the site %s"), uri->host)); GtkWidget* descriptionLabel = gtk_label_new(description.get()); gtk_misc_set_alignment(GTK_MISC(descriptionLabel), 0.0, 0.5); gtk_label_set_line_wrap(GTK_LABEL(descriptionLabel), TRUE); gtk_box_pack_start(GTK_BOX(mainVBox), GTK_WIDGET(descriptionLabel), FALSE, FALSE, 0); #ifdef GTK_API_VERSION_2 GtkWidget* vBox = gtk_vbox_new(FALSE, 6); #else GtkWidget* vBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); #endif gtk_box_pack_start(GTK_BOX(mainVBox), vBox, FALSE, FALSE, 0); // The table that holds the entries. GtkWidget* entryContainer = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); gtk_alignment_set_padding(GTK_ALIGNMENT(entryContainer), 0, 0, 0, 0); gtk_box_pack_start(GTK_BOX(vBox), entryContainer, FALSE, FALSE, 0); const char* realm = soup_auth_get_realm(m_auth); // Checking that realm is not an empty string. bool hasRealm = (realm && realm[0] != '\0'); #ifdef GTK_API_VERSION_2 GtkWidget* table = gtk_table_new(hasRealm ? 3 : 2, 2, FALSE); gtk_table_set_col_spacings(GTK_TABLE(table), 12); gtk_table_set_row_spacings(GTK_TABLE(table), 6); gtk_container_add(GTK_CONTAINER(entryContainer), table); #else GtkWidget* grid = gtk_grid_new(); gtk_grid_set_column_spacing(GTK_GRID(grid), 12); gtk_grid_set_row_spacing(GTK_GRID(grid), 6); gtk_container_add(GTK_CONTAINER(entryContainer), grid); #endif if (hasRealm) { GtkWidget* serverMessageDescriptionLabel = gtk_label_new(_("Server message:")); gtk_misc_set_alignment(GTK_MISC(serverMessageDescriptionLabel), 0.0, 0.5); gtk_label_set_line_wrap(GTK_LABEL(serverMessageDescriptionLabel), TRUE); #ifdef GTK_API_VERSION_2 gtk_table_attach_defaults(GTK_TABLE(table), serverMessageDescriptionLabel, 0, 1, 0, 1); #else gtk_grid_attach(GTK_GRID(grid), serverMessageDescriptionLabel, 0, 0, 1, 1); gtk_widget_set_hexpand(serverMessageDescriptionLabel, TRUE); gtk_widget_set_vexpand(serverMessageDescriptionLabel, TRUE); #endif GtkWidget* serverMessageLabel = gtk_label_new(realm); gtk_misc_set_alignment(GTK_MISC(serverMessageLabel), 0.0, 0.5); gtk_label_set_line_wrap(GTK_LABEL(serverMessageLabel), TRUE); #ifdef GTK_API_VERSION_2 gtk_table_attach_defaults(GTK_TABLE(table), serverMessageLabel, 1, 2, 0, 1); #else gtk_grid_attach(GTK_GRID(grid), serverMessageLabel, 1, 0, 1, 1); gtk_widget_set_hexpand(serverMessageLabel, TRUE); gtk_widget_set_vexpand(serverMessageLabel, TRUE); #endif } #ifdef GTK_API_VERSION_2 m_loginEntry = addEntryToTable(GTK_TABLE(table), hasRealm ? 1 : 0, _("Username:"******"Password:"******"Username:"******"Password:"******"_Remember password")); gtk_label_set_line_wrap(GTK_LABEL(gtk_bin_get_child(GTK_BIN(m_rememberCheckButton))), TRUE); gtk_box_pack_start(GTK_BOX(rememberBox), m_rememberCheckButton, FALSE, FALSE, 0); } }