[frogr] Disable tags autocompletion in dialogs even if tags already fetched.
- From: Mario Sanchez Prada <msanchez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [frogr] Disable tags autocompletion in dialogs even if tags already fetched.
- Date: Fri, 25 Feb 2011 01:22:18 +0000 (UTC)
commit ed29aa8064454c07a819649a74b8e38422f6f2d6
Author: Mario Sanchez Prada <msanchez igalia com>
Date: Fri Feb 25 02:17:09 2011 +0100
Disable tags autocompletion in dialogs even if tags already fetched.
This way, enabling/disabling this feature through the settings dialog
will have inmediate effect on the tags being autocompleted or not in the
'add tags' and the 'edit details' dialogs.
src/frogr-add-tags-dialog.c | 35 +++++++++++++++++++++--------------
src/frogr-details-dialog.c | 37 ++++++++++++++++++++++---------------
2 files changed, 43 insertions(+), 29 deletions(-)
---
diff --git a/src/frogr-add-tags-dialog.c b/src/frogr-add-tags-dialog.c
index 51c1555..8a2f846 100644
--- a/src/frogr-add-tags-dialog.c
+++ b/src/frogr-add-tags-dialog.c
@@ -22,6 +22,7 @@
#include "frogr-add-tags-dialog.h"
+#include "frogr-config.h"
#include "frogr-global-defs.h"
#include "frogr-picture.h"
@@ -321,10 +322,10 @@ static void
frogr_add_tags_dialog_init (FrogrAddTagsDialog *self)
{
FrogrAddTagsDialogPrivate *priv = FROGR_ADD_TAGS_DIALOG_GET_PRIVATE (self);
+ FrogrConfig *config = NULL;
GtkWidget *vbox = NULL;
GtkWidget *align = NULL;
GtkWidget *label = NULL;
- GtkEntryCompletion *completion = NULL;
GtkTreeModel *model = NULL;
/* Create widgets */
@@ -344,26 +345,32 @@ frogr_add_tags_dialog_init (FrogrAddTagsDialog *self)
gtk_container_add (GTK_CONTAINER (align), label);
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 6);
- completion = gtk_entry_completion_new ();
- gtk_entry_completion_set_text_column (GTK_ENTRY_COMPLETION (completion), TEXT_COL);
- gtk_entry_completion_set_inline_completion (GTK_ENTRY_COMPLETION (completion), TRUE);
- gtk_entry_completion_set_match_func (GTK_ENTRY_COMPLETION (completion),
- _tag_list_completion_func,
- self, NULL);
-
model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
- gtk_entry_completion_set_model (GTK_ENTRY_COMPLETION (completion), model);
priv->treemodel = model;
-
priv->entry = gtk_entry_new ();
- gtk_entry_set_completion (GTK_ENTRY (priv->entry), completion);
+
+ config = frogr_config_get_instance ();
+ if (config && frogr_config_get_tags_autocompletion (config))
+ {
+ GtkEntryCompletion *completion = NULL;
+ completion = gtk_entry_completion_new ();
+ gtk_entry_completion_set_text_column (GTK_ENTRY_COMPLETION (completion), TEXT_COL);
+ gtk_entry_completion_set_inline_completion (GTK_ENTRY_COMPLETION (completion), TRUE);
+ gtk_entry_completion_set_match_func (GTK_ENTRY_COMPLETION (completion),
+ _tag_list_completion_func,
+ self, NULL);
+
+ gtk_entry_completion_set_model (GTK_ENTRY_COMPLETION (completion), model);
+
+ gtk_entry_set_completion (GTK_ENTRY (priv->entry), completion);
+
+ g_signal_connect (G_OBJECT (completion), "match-selected",
+ G_CALLBACK (_completion_match_selected_cb), self);
+ }
gtk_box_pack_start (GTK_BOX (vbox), priv->entry, TRUE, FALSE, 6);
gtk_widget_set_size_request (GTK_WIDGET (self), 300, -1);
- g_signal_connect (G_OBJECT (completion), "match-selected",
- G_CALLBACK (_completion_match_selected_cb), self);
-
g_signal_connect (G_OBJECT (self), "response",
G_CALLBACK (_dialog_response_cb), NULL);
diff --git a/src/frogr-details-dialog.c b/src/frogr-details-dialog.c
index 001d8ed..ee6fc52 100644
--- a/src/frogr-details-dialog.c
+++ b/src/frogr-details-dialog.c
@@ -22,6 +22,7 @@
#include "frogr-details-dialog.h"
+#include "frogr-config.h"
#include "frogr-controller.h"
#include "frogr-picture.h"
#include "frogr-util.h"
@@ -114,6 +115,7 @@ static void
_create_widgets (FrogrDetailsDialog *self)
{
FrogrDetailsDialogPrivate *priv = NULL;
+ FrogrConfig *config = NULL;
GtkWidget *main_vbox = NULL;
GtkWidget *vbox = NULL;
GtkWidget *hbox = NULL;
@@ -129,7 +131,6 @@ _create_widgets (FrogrDetailsDialog *self)
GtkWidget *widget = NULL;
GtkWidget *table = NULL;
GtkWidget *scroller = NULL;
- GtkEntryCompletion *completion = NULL;
GtkTreeModel *model = NULL;
gchar *markup = NULL;
@@ -322,20 +323,29 @@ _create_widgets (FrogrDetailsDialog *self)
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 6);
-
- /* Prepare auto completion for tags */
- completion = gtk_entry_completion_new ();
- gtk_entry_completion_set_text_column (GTK_ENTRY_COMPLETION (completion), TEXT_COL);
- gtk_entry_completion_set_inline_completion (GTK_ENTRY_COMPLETION (completion), TRUE);
- gtk_entry_completion_set_match_func (GTK_ENTRY_COMPLETION (completion),
- _tag_list_completion_func,
- self, NULL);
- gtk_entry_set_completion (GTK_ENTRY (priv->tags_entry), completion);
-
model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
- gtk_entry_completion_set_model (GTK_ENTRY_COMPLETION (completion), model);
priv->treemodel = model;
+ config = frogr_config_get_instance ();
+ if (config && frogr_config_get_tags_autocompletion (config))
+ {
+ GtkEntryCompletion *completion = NULL;
+
+ /* Prepare auto completion for tags */
+ completion = gtk_entry_completion_new ();
+ gtk_entry_completion_set_text_column (GTK_ENTRY_COMPLETION (completion), TEXT_COL);
+ gtk_entry_completion_set_inline_completion (GTK_ENTRY_COMPLETION (completion), TRUE);
+ gtk_entry_completion_set_match_func (GTK_ENTRY_COMPLETION (completion),
+ _tag_list_completion_func,
+ self, NULL);
+ gtk_entry_set_completion (GTK_ENTRY (priv->tags_entry), completion);
+
+ gtk_entry_completion_set_model (GTK_ENTRY_COMPLETION (completion), model);
+
+ g_signal_connect (G_OBJECT (completion), "match-selected",
+ G_CALLBACK (_completion_match_selected_cb), self);
+ }
+
/* Connect signals */
g_signal_connect (G_OBJECT (priv->public_rb), "clicked",
G_CALLBACK (_on_radio_button_clicked), self);
@@ -370,9 +380,6 @@ _create_widgets (FrogrDetailsDialog *self)
g_signal_connect (G_OBJECT (priv->restricted_rb), "clicked",
G_CALLBACK (_on_radio_button_clicked), self);
- g_signal_connect (G_OBJECT (completion), "match-selected",
- G_CALLBACK (_completion_match_selected_cb), self);
-
/* Show widgets */
gtk_widget_show_all (main_vbox);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]