static void on_button_clicked_add (GtkButton *button, NimfSettingsPageKey *page_key) { GtkWidget *dialog; GtkWidget *entry; GtkWidget *content_area; GtkDialogFlags flags; #if GTK_CHECK_VERSION (3, 12, 0) flags = GTK_DIALOG_MODAL | GTK_DIALOG_USE_HEADER_BAR; #else flags = GTK_DIALOG_MODAL; #endif dialog = gtk_dialog_new_with_buttons (_("Press key combination"), GTK_WINDOW (nimf_settings_window), flags, _("_OK"), GTK_RESPONSE_OK, _("_Cancel"), GTK_RESPONSE_CANCEL, NULL); gtk_window_set_icon_name (GTK_WINDOW (dialog), "nimf"); gtk_widget_set_size_request (GTK_WIDGET (dialog), 400, -1); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), GTK_RESPONSE_OK, FALSE); content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); entry = gtk_entry_new (); gtk_entry_set_placeholder_text (GTK_ENTRY (entry), _("Click here and then press key combination")); gtk_box_pack_start (GTK_BOX (content_area), entry, TRUE, TRUE, 0); g_signal_connect (entry, "key-press-event", G_CALLBACK (on_key_press_event), dialog); gtk_widget_show_all (content_area); switch (gtk_dialog_run (GTK_DIALOG (dialog))) { case GTK_RESPONSE_OK: { GtkTreeModel *model; const gchar *text; GtkTreeIter iter; model = gtk_tree_view_get_model (GTK_TREE_VIEW (page_key->treeview)); text = gtk_entry_get_text (GTK_ENTRY (entry)); gtk_list_store_append (GTK_LIST_STORE (model), &iter); gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, text, -1); nimf_settings_page_key_update_gsettings_strv (page_key, model); } break; default: break; } gtk_widget_destroy (dialog); }
static void on_button_clicked_add (GtkButton *button, NimfSettingsPageKey *page_key) { GtkWidget *dialog; GtkWidget *entry; GtkWidget *content_area; GtkDialogFlags flags; #if GTK_CHECK_VERSION (3, 12, 0) flags = GTK_DIALOG_MODAL | GTK_DIALOG_USE_HEADER_BAR; #else flags = GTK_DIALOG_MODAL; #endif dialog = gtk_dialog_new_with_buttons (_("Press key combination..."), GTK_WINDOW (nimf_settings_window), flags, _("_OK"), GTK_RESPONSE_ACCEPT, _("_Cancel"), GTK_RESPONSE_REJECT, NULL); gtk_window_set_icon_name (GTK_WINDOW (dialog), "nimf"); gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT, FALSE); content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); entry = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (entry), _("Press the combination of the keys")); gtk_editable_set_position (GTK_EDITABLE (entry), -1); gtk_container_add (GTK_CONTAINER (content_area), entry); g_signal_connect (entry, "key-press-event", G_CALLBACK (on_key_press_event), dialog); gtk_widget_show_all (content_area); switch (gtk_dialog_run (GTK_DIALOG (dialog))) { case GTK_RESPONSE_ACCEPT: { GtkTreeModel *model; const gchar *text; GtkTreeIter iter; model = gtk_tree_view_get_model (GTK_TREE_VIEW (page_key->treeview)); text = gtk_entry_get_text (GTK_ENTRY (entry)); gtk_list_store_append (GTK_LIST_STORE (model), &iter); gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, text, -1); nimf_settings_page_key_update_gsettings_strv (page_key, model); } break; default: break; } gtk_widget_destroy (dialog); }
static void on_button_clicked_remove (GtkButton *button, NimfSettingsPageKey *page_key) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (page_key->treeview)); if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gtk_list_store_remove (GTK_LIST_STORE (model), &iter); nimf_settings_page_key_update_gsettings_strv (page_key, model); } }