static void g_paste_settings_ui_stack_settings_changed (GPasteSettings *settings, const gchar *key, gpointer user_data) { GPasteSettingsUiStackPrivate *priv = user_data; if (!g_strcmp0 (key, G_PASTE_ELEMENT_SIZE_SETTING)) gtk_spin_button_set_value (priv->element_size_button, g_paste_settings_get_element_size (settings)); else if (!g_strcmp0 (key, G_PASTE_GROWING_LINES_SETTING)) gtk_switch_set_active (GTK_SWITCH (priv->growing_lines_switch), g_paste_settings_get_growing_lines (settings)); else if (!g_strcmp0 (key, G_PASTE_HISTORY_NAME_SETTING)) { G_PASTE_CLEANUP_FREE gchar *text = g_strconcat (g_paste_settings_get_history_name (settings), "_backup", NULL); gtk_entry_set_text (priv->backup_entry, text); g_paste_settings_ui_stack_private_refill_histories (priv); } else if (!g_strcmp0 (key, G_PASTE_IMAGES_SUPPORT_SETTING)) gtk_switch_set_active (GTK_SWITCH (priv->images_support_switch), g_paste_settings_get_images_support (settings)); else if (!g_strcmp0 (key, G_PASTE_MAKE_PASSWORD_SETTING)) gtk_entry_set_text (priv->make_password_entry, g_paste_settings_get_make_password (settings)); else if (!g_strcmp0 (key, G_PASTE_MAX_DISPLAYED_HISTORY_SIZE_SETTING)) gtk_spin_button_set_value (priv->max_displayed_history_size_button, g_paste_settings_get_max_displayed_history_size (settings)); else if (!g_strcmp0 (key, G_PASTE_MAX_HISTORY_SIZE_SETTING)) gtk_spin_button_set_value (priv->max_history_size_button, g_paste_settings_get_max_history_size (settings)); else if (!g_strcmp0 (key, G_PASTE_MAX_MEMORY_USAGE_SETTING)) gtk_spin_button_set_value (priv->max_memory_usage_button, g_paste_settings_get_max_memory_usage (settings)); else if (!g_strcmp0 (key, G_PASTE_MAX_TEXT_ITEM_SIZE_SETTING)) gtk_spin_button_set_value (priv->max_text_item_size_button, g_paste_settings_get_max_text_item_size (settings)); else if (!g_strcmp0 (key, G_PASTE_MIN_TEXT_ITEM_SIZE_SETTING)) gtk_spin_button_set_value (priv->min_text_item_size_button, g_paste_settings_get_min_text_item_size (settings)); else if (!g_strcmp0 (key, G_PASTE_POP_SETTING)) gtk_entry_set_text (priv->pop_entry, g_paste_settings_get_pop (settings)); else if (!g_strcmp0 (key, G_PASTE_PRIMARY_TO_HISTORY_SETTING )) gtk_switch_set_active (GTK_SWITCH (priv->primary_to_history_switch), g_paste_settings_get_primary_to_history (settings)); else if (!g_strcmp0 (key, G_PASTE_SAVE_HISTORY_SETTING)) gtk_switch_set_active (GTK_SWITCH (priv->save_history_switch), g_paste_settings_get_save_history (settings)); else if (!g_strcmp0 (key, G_PASTE_SHOW_HISTORY_SETTING)) gtk_entry_set_text (priv->show_history_entry, g_paste_settings_get_show_history (settings)); else if (!g_strcmp0 (key, G_PASTE_SYNC_CLIPBOARD_TO_PRIMARY_SETTING)) gtk_entry_set_text (priv->sync_clipboard_to_primary_entry, g_paste_settings_get_sync_clipboard_to_primary (settings)); else if (!g_strcmp0 (key, G_PASTE_SYNC_PRIMARY_TO_CLIPBOARD_SETTING)) gtk_entry_set_text (priv->sync_primary_to_clipboard_entry, g_paste_settings_get_sync_primary_to_clipboard (settings)); else if (!g_strcmp0 (key, G_PASTE_SYNCHRONIZE_CLIPBOARDS_SETTING)) gtk_switch_set_active (GTK_SWITCH (priv->synchronize_clipboards_switch), g_paste_settings_get_synchronize_clipboards (settings)); else if (!g_strcmp0 (key, G_PASTE_TRACK_CHANGES_SETTING)) gtk_switch_set_active (GTK_SWITCH (priv->track_changes_switch), g_paste_settings_get_track_changes (settings)); else if (!g_strcmp0 (key, G_PASTE_TRIM_ITEMS_SETTING)) gtk_switch_set_active (GTK_SWITCH (priv->trim_items_switch), g_paste_settings_get_trim_items (settings)); #if G_PASTE_CONFIG_ENABLE_EXTENSION else if (!g_strcmp0 (key, G_PASTE_EXTENSION_ENABLED_SETTING)) gtk_switch_set_active (GTK_SWITCH (priv->extension_enabled_switch), g_paste_settings_get_extension_enabled (settings)); else if (!g_strcmp0 (key, G_PASTE_TRACK_EXTENSION_STATE_SETTING)) gtk_switch_set_active (GTK_SWITCH (priv->track_extension_state_switch), g_paste_settings_get_track_extension_state (settings)); #endif }
static void g_paste_settings_ui_stack_settings_changed (GPasteSettings *settings, const gchar *key, gpointer user_data) { GPasteSettingsUiStackPrivate *priv = user_data; if (!g_strcmp0 (key, G_PASTE_ELEMENT_SIZE_SETTING)) gtk_spin_button_set_value (priv->element_size_button, g_paste_settings_get_element_size (settings)); else if (!g_strcmp0 (key, G_PASTE_HISTORY_NAME_SETTING)) { gchar *text = g_strconcat (g_paste_settings_get_history_name (settings), "_backup", NULL); gtk_entry_set_text (priv->backup_entry, text); g_free (text); } else if (!g_strcmp0 (key, G_PASTE_IMAGES_SUPPORT_SETTING)) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->images_support_button), g_paste_settings_get_images_support (settings)); else if (!g_strcmp0 (key, G_PASTE_MAX_DISPLAYED_HISTORY_SIZE_SETTING)) gtk_spin_button_set_value (priv->max_displayed_history_size_button, g_paste_settings_get_max_displayed_history_size (settings)); else if (!g_strcmp0 (key, G_PASTE_MAX_HISTORY_SIZE_SETTING)) gtk_spin_button_set_value (priv->max_history_size_button, g_paste_settings_get_max_history_size (settings)); else if (!g_strcmp0 (key, G_PASTE_MAX_MEMORY_USAGE_SETTING)) gtk_spin_button_set_value (priv->max_memory_usage_button, g_paste_settings_get_max_memory_usage (settings)); else if (!g_strcmp0 (key, G_PASTE_MAX_TEXT_ITEM_SIZE_SETTING)) gtk_spin_button_set_value (priv->max_text_item_size_button, g_paste_settings_get_max_text_item_size (settings)); else if (!g_strcmp0 (key, G_PASTE_MIN_TEXT_ITEM_SIZE_SETTING)) gtk_spin_button_set_value (priv->min_text_item_size_button, g_paste_settings_get_min_text_item_size (settings)); else if (!g_strcmp0 (key, G_PASTE_PASTE_AND_POP_SETTING)) gtk_entry_set_text (priv->paste_and_pop_entry, g_paste_settings_get_paste_and_pop (settings)); else if (!g_strcmp0 (key, G_PASTE_PRIMARY_TO_HISTORY_SETTING )) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->primary_to_history_button), g_paste_settings_get_primary_to_history (settings)); else if (!g_strcmp0 (key, G_PASTE_SAVE_HISTORY_SETTING)) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->save_history_button), g_paste_settings_get_save_history (settings)); else if (!g_strcmp0 (key, G_PASTE_SHOW_HISTORY_SETTING)) gtk_entry_set_text (priv->show_history_entry, g_paste_settings_get_show_history (settings)); else if (!g_strcmp0 (key, G_PASTE_SYNC_CLIPBOARD_TO_PRIMARY_SETTING)) gtk_entry_set_text (priv->sync_clipboard_to_primary_entry, g_paste_settings_get_sync_clipboard_to_primary (settings)); else if (!g_strcmp0 (key, G_PASTE_SYNC_PRIMARY_TO_CLIPBOARD_SETTING)) gtk_entry_set_text (priv->sync_primary_to_clipboard_entry, g_paste_settings_get_sync_primary_to_clipboard (settings)); else if (!g_strcmp0 (key, G_PASTE_SYNCHRONIZE_CLIPBOARDS_SETTING)) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->synchronize_clipboards_button), g_paste_settings_get_synchronize_clipboards (settings)); else if (!g_strcmp0 (key, G_PASTE_TRACK_CHANGES_SETTING)) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->track_changes_button), g_paste_settings_get_track_changes (settings)); #ifdef ENABLE_EXTENSION else if (!g_strcmp0 (key, G_PASTE_TRACK_EXTENSION_STATE_SETTING)) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->track_extension_state_button), g_paste_settings_get_track_extension_state (settings)); #endif else if (!g_strcmp0 (key, G_PASTE_TRIM_ITEMS_SETTING)) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->trim_items_button), g_paste_settings_get_trim_items (settings)); }
/** * g_paste_clipboard_set_text: * @self: a GPasteClipboard instance * * Put the text from the intern GtkClipboard in the GPasteClipboard * * Returns: The new text if it was modified, or NULL */ G_PASTE_VISIBLE const gchar * g_paste_clipboard_set_text (GPasteClipboard *self) { g_return_val_if_fail (G_PASTE_IS_CLIPBOARD (self), NULL); GPasteClipboardPrivate *priv = self->priv; gchar *text = gtk_clipboard_wait_for_text (priv->real); if (!text) return NULL; GPasteSettings *settings = priv->settings; gchar *stripped = g_strstrip (g_strdup (text)); gboolean trim_items = g_paste_settings_get_trim_items (settings); const gchar *to_add = trim_items ? stripped : text; const gchar *ret = NULL; guint length = strlen (to_add); if (length < g_paste_settings_get_min_text_item_size (settings) || length > g_paste_settings_get_max_text_item_size (settings) || strlen (stripped) == 0 || (priv->text && g_strcmp0 (priv->text, to_add) == 0)) goto ignore; if (trim_items && priv->target == GDK_SELECTION_CLIPBOARD && g_strcmp0 (text, stripped) != 0) g_paste_clipboard_select_text (self, stripped); else _g_paste_clipboard_set_text (self, to_add); ret = priv->text; ignore: g_free (stripped); g_free (text); return ret; }
static GPasteSettingsUiPanel * g_paste_settings_ui_stack_private_make_history_settings_panel (GPasteSettingsUiStackPrivate *priv) { GPasteSettings *settings = priv->settings; GPasteSettingsUiPanel *panel = g_paste_settings_ui_panel_new (); priv->element_size_button = g_paste_settings_ui_panel_add_range_setting (panel, _("Max element size when displaying: "), (gdouble) g_paste_settings_get_element_size (settings), 0, 255, 5, element_size_callback, (GPasteResetCallback) g_paste_settings_reset_element_size, settings); priv->max_displayed_history_size_button = g_paste_settings_ui_panel_add_range_setting (panel, _("Max displayed history size: "), (gdouble) g_paste_settings_get_max_displayed_history_size (settings), 5, 255, 5, max_displayed_history_size_callback, (GPasteResetCallback) g_paste_settings_reset_max_displayed_history_size, settings); priv->max_history_size_button = g_paste_settings_ui_panel_add_range_setting (panel, _("Max history size: "), (gdouble) g_paste_settings_get_max_history_size (settings), 5, 255, 5, max_history_size_callback, (GPasteResetCallback) g_paste_settings_reset_max_history_size, settings); priv->max_memory_usage_button = g_paste_settings_ui_panel_add_range_setting (panel, _("Max memory usage (MB): "), (gdouble) g_paste_settings_get_max_memory_usage (settings), 5, 2000, 5, max_memory_usage_callback, (GPasteResetCallback) g_paste_settings_reset_max_memory_usage, settings); priv->max_text_item_size_button = g_paste_settings_ui_panel_add_range_setting (panel, _("Max text item length: "), (gdouble) g_paste_settings_get_max_text_item_size (settings), 1, G_MAXUINT, 1, max_text_item_size_callback, (GPasteResetCallback) g_paste_settings_reset_max_text_item_size, settings); priv->min_text_item_size_button = g_paste_settings_ui_panel_add_range_setting (panel, _("Min text item length: "), (gdouble) g_paste_settings_get_min_text_item_size (settings), 1, G_MAXUINT, 1, min_text_item_size_callback, (GPasteResetCallback) g_paste_settings_reset_min_text_item_size, settings); return panel; }