From a1f703b748fa1712d25c665447bc71a9900f2b7b Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sun, 27 Nov 2011 11:35:54 +0100 Subject: [PATCH] In GdaExQueryEditor started groups (parenthesis). --- .anjuta/session/anjuta.session | 6 +- .anjuta/session/dock-layout.xml | 2 +- .anjuta_sym_db.db | Bin 261120 -> 265216 bytes data/libgdaex/gui/libgdaex.ui | 24 ++++- po/it.po | 180 +++++++++++++++++--------------- src/queryeditor.c | 123 ++++++++++++++++++++-- 6 files changed, 231 insertions(+), 104 deletions(-) diff --git a/.anjuta/session/anjuta.session b/.anjuta/session/anjuta.session index 9954397..5319aca 100644 --- a/.anjuta/session/anjuta.session +++ b/.anjuta/session/anjuta.session @@ -4,11 +4,11 @@ Maximized=1 Geometry=1366x745+0+1 [Project Manager] -Shortcut=libgdaex//libgdaex//src//libgdaex.la%%%libgdaex//libgdaex//tests//grid%%%libgdaex//libgdaex//tests//query_editor%%%libgdaex//libgdaex//tests//select%%%libgdaex//libgdaex//tests//test_prefix -Expand=libgdaex.la%%%libgdaex +Shortcut=libgdaex//libgdaex//src//libgdaex.la%%%libgdaex//libgdaex//tests//fill_liststore%%%libgdaex//libgdaex//tests//grid%%%libgdaex//libgdaex//tests//query_editor%%%libgdaex//libgdaex//tests//select%%%libgdaex//libgdaex//tests//test_prefix +Expand=libgdaex.la [File Loader] -Files=file:///home/andreaz/files/c/libgdaex/src/queryeditor.c#668 +Files=file:///home/andreaz/files/c/libgdaex/src/gdaex.c#2780 [Document Manager] bookmarks=\n\n diff --git a/.anjuta/session/dock-layout.xml b/.anjuta/session/dock-layout.xml index 17c0817..44849a9 100644 --- a/.anjuta/session/dock-layout.xml +++ b/.anjuta/session/dock-layout.xml @@ -1,2 +1,2 @@ - + diff --git a/.anjuta_sym_db.db b/.anjuta_sym_db.db index 6526f20c7490f069ce53845e7306f2d6a8471e07..6591671c135b525f5813817e8263d310ab33c626 100644 GIT binary patch delta 19264 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 X!+EdLRaIKEZo=y=1G8={7XAMK1GgEo delta 16078 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 diff --git a/data/libgdaex/gui/libgdaex.ui b/data/libgdaex/gui/libgdaex.ui index d32342e..c5e508f 100644 --- a/data/libgdaex/gui/libgdaex.ui +++ b/data/libgdaex/gui/libgdaex.ui @@ -292,6 +292,7 @@ True tstore_where False + treeviewcolumn5 True 4 @@ -390,6 +391,21 @@ 0 + + + Add gr_oup + False + True + True + True + True + + + False + False + 1 + + gtk-remove @@ -402,7 +418,7 @@ False False - 1 + 2 @@ -417,7 +433,7 @@ False False - 2 + 3 @@ -432,7 +448,7 @@ False False - 3 + 4 @@ -447,7 +463,7 @@ False False - 4 + 5 diff --git a/po/it.po b/po/it.po index 255b8fe..71feb3b 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libgdaex 0.4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-11-23 18:27+0100\n" +"POT-Creation-Date: 2011-11-27 11:27+0100\n" "PO-Revision-Date: 2011-10-24 17:44+0200\n" "Last-Translator: Andrea Zagli \n" "Language-Team: Italian \n" @@ -33,14 +33,14 @@ msgid "Error creating database connection: %s" msgstr "Errore nella creazione della connessione al database: %s" #: ../src/gdaex.c:286 ../src/gdaex.c:689 ../src/gdaex.c:706 -#: ../src/gdaex.c:1028 ../src/gdaex.c:1068 ../src/gdaex.c:1107 -#: ../src/gdaex.c:1146 ../src/gdaex.c:1198 ../src/gdaex.c:1293 -#: ../src/gdaex.c:1353 ../src/gdaex.c:1419 ../src/gdaex.c:1469 -#: ../src/gdaex.c:2295 ../src/gdaex.c:2405 ../src/gdaex.c:2452 -#: ../src/gdaex.c:2470 ../src/gdaex.c:2523 ../src/gdaex.c:2582 -#: ../src/gdaex.c:2635 ../src/gdaex.c:2923 ../src/gdaex.c:2941 -#: ../src/queryeditor.c:350 ../src/queryeditor.c:1260 -#: ../src/queryeditor.c:1272 +#: ../src/gdaex.c:1041 ../src/gdaex.c:1081 ../src/gdaex.c:1120 +#: ../src/gdaex.c:1159 ../src/gdaex.c:1211 ../src/gdaex.c:1306 +#: ../src/gdaex.c:1366 ../src/gdaex.c:1432 ../src/gdaex.c:1482 +#: ../src/gdaex.c:2308 ../src/gdaex.c:2418 ../src/gdaex.c:2465 +#: ../src/gdaex.c:2483 ../src/gdaex.c:2536 ../src/gdaex.c:2595 +#: ../src/gdaex.c:2648 ../src/gdaex.c:2951 ../src/gdaex.c:2969 +#: ../src/queryeditor.c:366 ../src/queryeditor.c:1350 +#: ../src/queryeditor.c:1362 msgid "no details" msgstr "nessun dettaglio" @@ -95,19 +95,19 @@ msgstr "" msgid "Selection query executed: %s" msgstr "Query di selezione eseguita: %s" -#: ../src/gdaex.c:744 ../src/gdaex.c:775 ../src/gdaex.c:805 ../src/gdaex.c:835 -#: ../src/gdaex.c:865 ../src/gdaex.c:895 ../src/gdaex.c:926 ../src/gdaex.c:957 -#: ../src/gdaex.c:988 ../src/gdaex.c:1500 ../src/gdaex.c:1532 -#: ../src/gdaex.c:1563 ../src/gdaex.c:1594 ../src/gdaex.c:1625 -#: ../src/gdaex.c:1656 ../src/gdaex.c:1688 ../src/gdaex.c:1720 -#: ../src/gdaex.c:1752 +#: ../src/gdaex.c:757 ../src/gdaex.c:788 ../src/gdaex.c:818 ../src/gdaex.c:848 +#: ../src/gdaex.c:878 ../src/gdaex.c:908 ../src/gdaex.c:939 ../src/gdaex.c:970 +#: ../src/gdaex.c:1001 ../src/gdaex.c:1513 ../src/gdaex.c:1545 +#: ../src/gdaex.c:1576 ../src/gdaex.c:1607 ../src/gdaex.c:1638 +#: ../src/gdaex.c:1669 ../src/gdaex.c:1701 ../src/gdaex.c:1733 +#: ../src/gdaex.c:1765 #, c-format msgid "No column found with name «%s»." msgstr "Nessuna colonna trovata con il nome «%s»." -#: ../src/gdaex.c:1026 ../src/gdaex.c:1066 ../src/gdaex.c:1105 -#: ../src/gdaex.c:1144 ../src/gdaex.c:1196 ../src/gdaex.c:1291 -#: ../src/gdaex.c:1351 ../src/gdaex.c:1417 ../src/gdaex.c:1467 +#: ../src/gdaex.c:1039 ../src/gdaex.c:1079 ../src/gdaex.c:1118 +#: ../src/gdaex.c:1157 ../src/gdaex.c:1209 ../src/gdaex.c:1304 +#: ../src/gdaex.c:1364 ../src/gdaex.c:1430 ../src/gdaex.c:1480 #, c-format msgid "" "Error on retrieving field's value: «%s».\n" @@ -116,7 +116,7 @@ msgstr "" "Errore nell'ottenere il valore del campo: «%s»\n" "%s\n" -#: ../src/gdaex.c:1284 ../src/gdaex.c:1344 ../src/gdaex.c:1410 +#: ../src/gdaex.c:1297 ../src/gdaex.c:1357 ../src/gdaex.c:1423 #, c-format msgid "" "Error on retrieving field's value: «%s».\n" @@ -125,40 +125,40 @@ msgstr "" "Errore nell'ottenere il valore del campo: «%s».\n" "Tipo GValue sconosciuto." -#: ../src/gdaex.c:1779 ../src/gdaex.c:1817 ../src/gdaex.c:1855 -#: ../src/gdaex.c:1893 ../src/gdaex.c:1931 ../src/gdaex.c:1984 -#: ../src/gdaex.c:2077 ../src/gdaex.c:2135 ../src/gdaex.c:2195 +#: ../src/gdaex.c:1792 ../src/gdaex.c:1830 ../src/gdaex.c:1868 +#: ../src/gdaex.c:1906 ../src/gdaex.c:1944 ../src/gdaex.c:1997 +#: ../src/gdaex.c:2090 ../src/gdaex.c:2148 ../src/gdaex.c:2208 #, c-format msgid "Error on retrieving field's value: «%s»." msgstr "Errore nell'ottenere il valore del campo: «%s»." -#: ../src/gdaex.c:2046 ../src/gdaex.c:2102 ../src/gdaex.c:2166 +#: ../src/gdaex.c:2059 ../src/gdaex.c:2115 ../src/gdaex.c:2179 msgid "Error on retrieving field's value: unknown GValue type." msgstr "Impossibile ottenere il valore del campo: tipo GValue sconosciuto." -#: ../src/gdaex.c:2293 +#: ../src/gdaex.c:2306 #, c-format msgid "Error on retrieving column %d: %s" msgstr "Errore nell'ottenere la colonna %d: %s" -#: ../src/gdaex.c:2343 +#: ../src/gdaex.c:2356 msgid "Invalid GdaDataModel." msgstr "GdaDataModel non valido." -#: ../src/gdaex.c:2357 +#: ../src/gdaex.c:2370 msgid "Unable to create the GtkTreeModel." msgstr "Impossibile creare il GtkTreeModel." -#: ../src/gdaex.c:2404 +#: ../src/gdaex.c:2417 #, c-format msgid "Error opening transaction: %s\n" msgstr "Errore nell'apertura della transazione: %s\n" -#: ../src/gdaex.c:2411 +#: ../src/gdaex.c:2424 msgid "Transaction opened." msgstr "Transazione aperta." -#: ../src/gdaex.c:2445 +#: ../src/gdaex.c:2458 #, c-format msgid "" "REMAINS:\n" @@ -171,7 +171,7 @@ msgstr "" "da\n" "%s" -#: ../src/gdaex.c:2451 ../src/gdaex.c:2522 +#: ../src/gdaex.c:2464 ../src/gdaex.c:2535 #, c-format msgid "" "Error parsing sql: %s\n" @@ -180,7 +180,7 @@ msgstr "" "Errore nell'analisi dell'sql: %s\n" "%s" -#: ../src/gdaex.c:2469 +#: ../src/gdaex.c:2482 #, c-format msgid "" "Error executing command query: %s\n" @@ -189,235 +189,243 @@ msgstr "" "Errore nell'esecuzione della query di comando: %s\n" "%s" -#: ../src/gdaex.c:2477 +#: ../src/gdaex.c:2490 #, c-format msgid "Query executed: %s" msgstr "Query eseguita: %s" -#: ../src/gdaex.c:2571 ../src/gdaex.c:2624 +#: ../src/gdaex.c:2584 ../src/gdaex.c:2637 msgid "No transaction opened." msgstr "Nessuna transazione aperta." -#: ../src/gdaex.c:2581 +#: ../src/gdaex.c:2594 #, c-format msgid "Error committing transaction: %s" msgstr "Errore nel committare la transazione: %s" -#: ../src/gdaex.c:2589 +#: ../src/gdaex.c:2602 msgid "Transaction committed." msgstr "Transazione committata." -#: ../src/gdaex.c:2634 +#: ../src/gdaex.c:2647 #, c-format msgid "Error rollbacking transaction: %s" msgstr "Errore nel rollbacking della transazione: %s" -#: ../src/gdaex.c:2642 +#: ../src/gdaex.c:2655 msgid "Transaction rolled back." msgstr "Transazione rolled back." -#: ../src/gdaex.c:2922 +#: ../src/gdaex.c:2950 #, c-format msgid "Error on creating regex: %s" msgstr "Errore nella creazione dell'espressione regolare: %s" -#: ../src/gdaex.c:2940 +#: ../src/gdaex.c:2968 #, c-format msgid "Error on regex replacing: %s" msgstr "Errore nell'espressione regolare di sostituzione: %s" -#: ../src/queryeditor.c:349 +#: ../src/queryeditor.c:365 #, c-format msgid "Error on gui initialization: %s." msgstr "Errore nell'inizializzazione dell'interfaccia grafica: %s." -#: ../src/queryeditor.c:581 ../src/queryeditor.c:673 ../src/queryeditor.c:681 +#: ../src/queryeditor.c:601 ../src/queryeditor.c:763 ../src/queryeditor.c:771 #, c-format msgid "Table «%s» doesn't exists." msgstr "La tabella «%s» non esiste." -#: ../src/queryeditor.c:590 ../src/queryeditor.c:598 +#: ../src/queryeditor.c:610 ../src/queryeditor.c:618 msgid "No field added: the field must have a name." msgstr "Nessun campo aggiunto: il campo deve avere un nome." -#: ../src/queryeditor.c:717 +#: ../src/queryeditor.c:807 msgid "Relation not created: no field added to the relation." msgstr "Relazione non creata: nesuun campo aggiunto alla relazione." -#: ../src/queryeditor.c:1182 ../src/queryeditor.c:1575 +#: ../src/queryeditor.c:1272 ../src/queryeditor.c:1665 #, c-format msgid "Where type «%d» not valid." msgstr "Tipo where «%d» non valido." -#: ../src/queryeditor.c:1259 +#: ../src/queryeditor.c:1349 #, c-format msgid "Unable to create GdaStatement: %s." msgstr "Impossibile creare l'oggetto GdaStatement: %s." -#: ../src/queryeditor.c:1271 +#: ../src/queryeditor.c:1361 #, c-format msgid "Unable to create sql: %s." msgstr "Impossibile creare l'sql: %s." -#: ../src/queryeditor.c:1510 +#: ../src/queryeditor.c:1600 #, c-format msgid "Link type «%d» not valid." msgstr "Tipo collegamento «%d» non valido." -#: ../src/queryeditor.c:1670 +#: ../src/queryeditor.c:1760 #, c-format msgid "Table «%s» not found." msgstr "Tabella «%s» non trovata." -#: ../src/queryeditor.c:1678 +#: ../src/queryeditor.c:1768 #, c-format msgid "Field «%s» not found in table «%s»." msgstr "Campo «%s» non trovato nella tabella «%s»." -#: ../src/queryeditor.c:1865 ../src/queryeditor.c:2725 +#: ../src/queryeditor.c:1955 ../src/queryeditor.c:2815 msgid "ASC" msgstr "ASC" -#: ../src/queryeditor.c:1866 ../src/queryeditor.c:2729 +#: ../src/queryeditor.c:1956 ../src/queryeditor.c:2819 msgid "DESC" msgstr "DISC" -#: ../src/queryeditor.c:2117 +#: ../src/queryeditor.c:2207 msgid "Are you sure you want to remove the selected field?" msgstr "Eliminare il campo selezionato?" -#: ../src/queryeditor.c:2138 ../src/queryeditor.c:2234 -#: ../src/queryeditor.c:2803 ../src/queryeditor.c:2974 -#: ../src/queryeditor.c:3441 +#: ../src/queryeditor.c:2228 ../src/queryeditor.c:2324 +#: ../src/queryeditor.c:2893 ../src/queryeditor.c:3095 +#: ../src/queryeditor.c:3606 msgid "You must select a field before." msgstr "Occorre prima selezione un campo." -#: ../src/queryeditor.c:2296 +#: ../src/queryeditor.c:2386 msgid "Equal" msgstr "uguale a" -#: ../src/queryeditor.c:2300 +#: ../src/queryeditor.c:2390 msgid "Starts with" msgstr "inizia per" -#: ../src/queryeditor.c:2304 +#: ../src/queryeditor.c:2394 msgid "Contains" msgstr "contiene" -#: ../src/queryeditor.c:2308 +#: ../src/queryeditor.c:2398 msgid "Ends with" msgstr "finisce con" -#: ../src/queryeditor.c:2312 +#: ../src/queryeditor.c:2402 msgid "Case-insensitive starts with" msgstr "inizia per (no maiuscole/minuscole)" -#: ../src/queryeditor.c:2316 +#: ../src/queryeditor.c:2406 msgid "Case-insensitive contains" msgstr "contiene (no maiuscole/minuscole)" -#: ../src/queryeditor.c:2320 +#: ../src/queryeditor.c:2410 msgid "Case-insensitive ends with" msgstr "finisce con (no maiuscole/minuscole)" -#: ../src/queryeditor.c:2324 +#: ../src/queryeditor.c:2414 msgid "Greater" msgstr "maggiore di" -#: ../src/queryeditor.c:2328 +#: ../src/queryeditor.c:2418 msgid "Greater or equal" msgstr "maggiore di o uguale a" -#: ../src/queryeditor.c:2332 +#: ../src/queryeditor.c:2422 msgid "Lesser" msgstr "minore di" -#: ../src/queryeditor.c:2336 +#: ../src/queryeditor.c:2426 msgid "Lesser or equal" msgstr "minore di o uguale a" -#: ../src/queryeditor.c:2340 +#: ../src/queryeditor.c:2430 msgid "Between" msgstr "compreso tra" -#: ../src/queryeditor.c:2344 +#: ../src/queryeditor.c:2434 msgid "Is NULL" msgstr "è NULL" -#: ../src/queryeditor.c:2361 +#: ../src/queryeditor.c:2451 msgid "And" msgstr "e" -#: ../src/queryeditor.c:2365 +#: ../src/queryeditor.c:2455 msgid "Or" msgstr "o" -#: ../src/queryeditor.c:2631 +#: ../src/queryeditor.c:2721 msgid "You must select a link's type before." msgstr "Occorre selezionare prima un tipo di collegamento." -#: ../src/queryeditor.c:2653 +#: ../src/queryeditor.c:2743 msgid "You must select a condition's type before." msgstr "Occorre selezionare prima un tipo di condizione." #. if it is the first condition, "link" isn't visibile -#: ../src/queryeditor.c:3106 ../data/libgdaex/gui/libgdaex.ui.h:6 +#: ../src/queryeditor.c:3269 ../data/libgdaex/gui/libgdaex.ui.h:7 msgid "Link" msgstr "Collegamento" -#: ../src/queryeditor.c:3110 ../data/libgdaex/gui/libgdaex.ui.h:7 +#: ../src/queryeditor.c:3273 ../data/libgdaex/gui/libgdaex.ui.h:8 msgid "Not" msgstr "Non" -#: ../src/queryeditor.c:3113 ../data/libgdaex/gui/libgdaex.ui.h:2 +#: ../src/queryeditor.c:3276 ../data/libgdaex/gui/libgdaex.ui.h:3 msgid "Condition" msgstr "Condizione" -#: ../src/queryeditor.c:3116 +#: ../src/queryeditor.c:3279 msgid "Value" msgstr "Valore" -#: ../src/queryeditor.c:3319 +#: ../src/queryeditor.c:3323 +msgid "and" +msgstr "e" + +#: ../src/queryeditor.c:3485 #, c-format msgid "Field's type «%d» not valid." msgstr "Il tipo campo «%d» non è valido." -#: ../src/queryeditor.c:3533 +#: ../src/queryeditor.c:3698 msgid "Ascending" msgstr "ascendente" -#: ../src/queryeditor.c:3536 +#: ../src/queryeditor.c:3701 msgid "Descending" msgstr "discendente" #: ../data/libgdaex/gui/libgdaex.ui.h:1 +msgid "Add gr_oup" +msgstr "Aggiungi gr_uppo" + +#: ../data/libgdaex/gui/libgdaex.ui.h:2 msgid "Alias" msgstr "Alias" -#: ../data/libgdaex/gui/libgdaex.ui.h:3 +#: ../data/libgdaex/gui/libgdaex.ui.h:4 msgid "Field" msgstr "Campo" -#: ../data/libgdaex/gui/libgdaex.ui.h:4 +#: ../data/libgdaex/gui/libgdaex.ui.h:5 msgid "Fields" msgstr "Campi" -#: ../data/libgdaex/gui/libgdaex.ui.h:5 +#: ../data/libgdaex/gui/libgdaex.ui.h:6 msgid "From" msgstr "da" -#: ../data/libgdaex/gui/libgdaex.ui.h:8 +#: ../data/libgdaex/gui/libgdaex.ui.h:9 msgid "Order" msgstr "Ordinamento" -#: ../data/libgdaex/gui/libgdaex.ui.h:9 +#: ../data/libgdaex/gui/libgdaex.ui.h:10 msgid "Show" msgstr "Mostra" -#: ../data/libgdaex/gui/libgdaex.ui.h:10 +#: ../data/libgdaex/gui/libgdaex.ui.h:11 msgid "To" msgstr "a" -#: ../data/libgdaex/gui/libgdaex.ui.h:11 +#: ../data/libgdaex/gui/libgdaex.ui.h:12 msgid "Where" msgstr "Condizioni" diff --git a/src/queryeditor.c b/src/queryeditor.c index 44c9182..34eb882 100644 --- a/src/queryeditor.c +++ b/src/queryeditor.c @@ -28,6 +28,8 @@ #include "queryeditor.h" #include "queryeditorentry.h" +#define GROUP "{--group--}" + typedef struct { gchar *name; @@ -133,6 +135,8 @@ static void gdaex_query_editor_on_sel_show_changed (GtkTreeSelection *treeselect static void gdaex_query_editor_on_btn_where_add_clicked (GtkButton *button, gpointer user_data); +static void gdaex_query_editor_on_btn_where_add_group_clicked (GtkButton *button, + gpointer user_data); static void gdaex_query_editor_on_btn_where_remove_clicked (GtkButton *button, gpointer user_data); static void gdaex_query_editor_on_btn_where_up_clicked (GtkButton *button, @@ -184,6 +188,8 @@ struct _GdaExQueryEditorPrivate GtkWidget *vbx_values_container; GtkWidget *vbx_values; + GtkWidget *trv_where; + GtkTreeStore *tstore_fields; GtkListStore *lstore_show; GtkTreeStore *tstore_where; @@ -365,6 +371,8 @@ GdaExQueryEditor priv->notebook = GTK_WIDGET (gtk_builder_get_object (priv->gtkbuilder, "notebook1")); + priv->trv_where = GTK_WIDGET (gtk_builder_get_object (priv->gtkbuilder, "treeview3")); + priv->tstore_fields = GTK_TREE_STORE (gtk_builder_get_object (priv->gtkbuilder, "tstore_fields")); priv->lstore_show = GTK_LIST_STORE (gtk_builder_get_object (priv->gtkbuilder, "lstore_show")); priv->tstore_where = GTK_TREE_STORE (gtk_builder_get_object (priv->gtkbuilder, "tstore_where")); @@ -372,7 +380,7 @@ GdaExQueryEditor priv->sel_fields = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_builder_get_object (priv->gtkbuilder, "treeview1"))); priv->sel_show = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_builder_get_object (priv->gtkbuilder, "treeview2"))); - priv->sel_where = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_builder_get_object (priv->gtkbuilder, "treeview3"))); + priv->sel_where = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->trv_where)); priv->sel_order = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_builder_get_object (priv->gtkbuilder, "treeview4"))); priv->vbx_values_container = GTK_WIDGET (gtk_builder_get_object (priv->gtkbuilder, "vbox3")); @@ -403,6 +411,8 @@ GdaExQueryEditor g_signal_connect (gtk_builder_get_object (priv->gtkbuilder, "button7"), "clicked", G_CALLBACK (gdaex_query_editor_on_btn_where_add_clicked), (gpointer)gdaex_query_editor); + g_signal_connect (gtk_builder_get_object (priv->gtkbuilder, "button18"), "clicked", + G_CALLBACK (gdaex_query_editor_on_btn_where_add_group_clicked), (gpointer)gdaex_query_editor); g_signal_connect (gtk_builder_get_object (priv->gtkbuilder, "button8"), "clicked", G_CALLBACK (gdaex_query_editor_on_btn_where_remove_clicked), (gpointer)gdaex_query_editor); g_signal_connect (gtk_builder_get_object (priv->gtkbuilder, "button9"), "clicked", @@ -3017,8 +3027,12 @@ gdaex_query_editor_on_btn_where_add_clicked (GtkButton *button, GdaExQueryEditorPrivate *priv; GtkTreeIter iter; + GtkTreeIter iter_parent; GtkWidget *dialog; + gchar *group; + gboolean with_parent; + gchar *table_name; gchar *field_name; GdaExQueryEditorTable *table; @@ -3029,6 +3043,8 @@ gdaex_query_editor_on_btn_where_add_clicked (GtkButton *button, if (gtk_tree_selection_get_selected (priv->sel_fields, NULL, &iter)) { + with_parent = FALSE; + gtk_tree_model_get (GTK_TREE_MODEL (priv->tstore_fields), &iter, COL_FIELDS_TABLE_NAME, &table_name, COL_FIELDS_NAME, &field_name, @@ -3037,13 +3053,38 @@ gdaex_query_editor_on_btn_where_add_clicked (GtkButton *button, table = g_hash_table_lookup (priv->tables, table_name); field = g_hash_table_lookup (table->fields, field_name); - gtk_tree_store_append (priv->tstore_where, &iter, NULL); + if (gtk_tree_selection_get_selected (priv->sel_where, NULL, &iter_parent)) + { + gtk_tree_model_get (GTK_TREE_MODEL (priv->tstore_where), &iter_parent, + COL_WHERE_TABLE_NAME, &group, + -1); + if (g_strcmp0 (group, GROUP) != 0) + { + if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (priv->tstore_where), &iter, &iter_parent)) + { + with_parent = TRUE; + iter_parent = iter; + } + } + else + { + with_parent = TRUE; + } + } + + gtk_tree_store_append (priv->tstore_where, &iter, with_parent ? &iter_parent : NULL); gtk_tree_store_set (priv->tstore_where, &iter, COL_WHERE_TABLE_NAME, field->table_name, COL_WHERE_NAME, field_name, COL_WHERE_VISIBLE_NAME, g_strconcat (table->name_visible, " - ", field->name_visible, NULL), -1); + if (with_parent) + { + gtk_tree_view_expand_to_path (GTK_TREE_VIEW (priv->trv_where), + gtk_tree_model_get_path (GTK_TREE_MODEL (priv->tstore_where), &iter_parent)); + } + g_free (table_name); g_free (field_name); } @@ -3059,12 +3100,64 @@ gdaex_query_editor_on_btn_where_add_clicked (GtkButton *button, } } +static void +gdaex_query_editor_on_btn_where_add_group_clicked (GtkButton *button, + gpointer user_data) +{ + GdaExQueryEditor *qe; + GdaExQueryEditorPrivate *priv; + + GtkTreeIter iter_parent; + GtkTreeIter iter; + + gchar *group; + + qe = (GdaExQueryEditor *)user_data; + priv = GDAEX_QUERY_EDITOR_GET_PRIVATE (qe); + + if (gtk_tree_selection_get_selected (priv->sel_where, NULL, &iter_parent)) + { + gtk_tree_model_get (GTK_TREE_MODEL (priv->tstore_where), &iter_parent, + COL_WHERE_TABLE_NAME, &group, + -1); + if (g_strcmp0 (group, GROUP) != 0) + { + if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (priv->tstore_where), &iter, &iter_parent)) + { + gtk_tree_store_append (priv->tstore_where, &iter, &iter); + } + else + { + gtk_tree_store_append (priv->tstore_where, &iter, NULL); + } + } + else + { + gtk_tree_store_append (priv->tstore_where, &iter, &iter_parent); + } + } + else + { + gtk_tree_store_append (priv->tstore_where, &iter, NULL); + } + gtk_tree_store_set (priv->tstore_where, &iter, + COL_WHERE_TABLE_NAME, GROUP, + COL_WHERE_NAME, GROUP, + COL_WHERE_VISIBLE_NAME, "( )", + -1); + gtk_tree_view_expand_to_path (GTK_TREE_VIEW (priv->trv_where), + gtk_tree_model_get_path (GTK_TREE_MODEL (priv->tstore_where), &iter)); +} + static void gdaex_query_editor_on_btn_where_remove_clicked (GtkButton *button, gpointer user_data) { - GdaExQueryEditor *qe = (GdaExQueryEditor *)user_data; - GdaExQueryEditorPrivate *priv = GDAEX_QUERY_EDITOR_GET_PRIVATE (qe); + GdaExQueryEditor *qe; + GdaExQueryEditorPrivate *priv; + + qe = (GdaExQueryEditor *)user_data; + priv = GDAEX_QUERY_EDITOR_GET_PRIVATE (qe); gdaex_query_editor_store_remove_iter (qe, priv->sel_where, @@ -3075,8 +3168,11 @@ static void gdaex_query_editor_on_btn_where_up_clicked (GtkButton *button, gpointer user_data) { - GdaExQueryEditor *qe = (GdaExQueryEditor *)user_data; - GdaExQueryEditorPrivate *priv = GDAEX_QUERY_EDITOR_GET_PRIVATE (qe); + GdaExQueryEditor *qe; + GdaExQueryEditorPrivate *priv; + + qe = (GdaExQueryEditor *)user_data; + priv = GDAEX_QUERY_EDITOR_GET_PRIVATE (qe); gdaex_query_editor_store_move_iter_up_down (qe, priv->sel_where, @@ -3088,8 +3184,11 @@ static void gdaex_query_editor_on_btn_where_down_clicked (GtkButton *button, gpointer user_data) { - GdaExQueryEditor *qe = (GdaExQueryEditor *)user_data; - GdaExQueryEditorPrivate *priv = GDAEX_QUERY_EDITOR_GET_PRIVATE (qe); + GdaExQueryEditor *qe; + GdaExQueryEditorPrivate *priv; + + qe = (GdaExQueryEditor *)user_data; + priv = GDAEX_QUERY_EDITOR_GET_PRIVATE (qe); gdaex_query_editor_store_move_iter_up_down (qe, priv->sel_where, @@ -3163,6 +3262,8 @@ gdaex_query_editor_on_sel_where_changed (GtkTreeSelection *treeselection, COL_WHERE_CONDITION_TO_SQL, &to_sql, -1); + if (g_strcmp0 (table_name, GROUP) == 0) return; + table = g_hash_table_lookup (priv->tables, table_name); field = g_hash_table_lookup (table->fields, field_name); @@ -3172,6 +3273,7 @@ gdaex_query_editor_on_sel_where_changed (GtkTreeSelection *treeselection, if (GTK_IS_HBOX (priv->hbox_where)) { gtk_combo_box_set_active_iter (GTK_COMBO_BOX (priv->cb_link_type), NULL); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->not), not); gtk_container_remove (GTK_CONTAINER (priv->tbl), GTK_WIDGET (priv->txt_from)); gtk_container_remove (GTK_CONTAINER (priv->tbl), GTK_WIDGET (priv->txt_to)); } @@ -3223,10 +3325,11 @@ gdaex_query_editor_on_sel_where_changed (GtkTreeSelection *treeselection, lbl = gtk_label_new (g_strconcat (table->name_visible, " - ", field->name_visible, NULL)); gtk_table_attach (GTK_TABLE (priv->tbl), lbl, 1, 2, 1, 2, 0, 0, 0, 0); + /* not */ priv->not = gtk_check_button_new (); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->not), not); gtk_table_attach (GTK_TABLE (priv->tbl), priv->not, 2, 3, 1, 2, GTK_FILL, 0, 0, 0); + /* where */ priv->cb_where_type = gtk_combo_box_new_with_model (GTK_TREE_MODEL (priv->lstore_where_type)); renderer = gtk_cell_renderer_text_new (); @@ -3238,7 +3341,7 @@ gdaex_query_editor_on_sel_where_changed (GtkTreeSelection *treeselection, g_signal_connect (G_OBJECT (priv->cb_where_type), "changed", G_CALLBACK (gdaex_query_editor_on_cb_where_type_changed), user_data); - priv->lbl_to = gtk_label_new ("and"); + priv->lbl_to = gtk_label_new (_("and")); gtk_misc_set_alignment (GTK_MISC (priv->lbl_to), 1.0, 0.5); gtk_table_attach (GTK_TABLE (priv->tbl), priv->lbl_to, 3, 4, 2, 3, GTK_FILL, 0, 0, 0); } -- 2.49.0