Author: akv
Date: 2009-12-20 22:37:30 +0100 (Sun, 20 Dec 2009)
New Revision: 2817

Modified:
   trunk/src/conf_interface.h
   trunk/src/gtk-interface.c
   trunk/src/rs-library.c
   trunk/src/rs-library.h
Log:
Remember last tag search and reopen on startup if tag search was used last.

Modified: trunk/src/conf_interface.h
===================================================================
--- trunk/src/conf_interface.h  2009-12-20 19:38:56 UTC (rev 2816)
+++ trunk/src/conf_interface.h  2009-12-20 21:37:30 UTC (rev 2817)
@@ -71,6 +71,7 @@
 #define CONF_LAST_PRIORITY_PAGE "last_priority_page"
 #define CONF_STORE_SORT_METHOD "store_sort_method"
 #define CONF_LIBRARY_AUTOTAG "library_autotag"
+#define CONF_LIBRARY_TAG_SEARCH "library_tag_search"
 
 #define DEFAULT_CONF_EXPORT_FILENAME "%f_%2c"
 #define DEFAULT_CONF_BATCH_DIRECTORY "batch_exports/"

Modified: trunk/src/gtk-interface.c
===================================================================
--- trunk/src/gtk-interface.c   2009-12-20 19:38:56 UTC (rev 2816)
+++ trunk/src/gtk-interface.c   2009-12-20 21:37:30 UTC (rev 2817)
@@ -1200,8 +1200,14 @@
                        g_string_append(window_title, lwd);
                        gtk_window_set_title (GTK_WINDOW (rawstudio_window), 
window_title->str);
                }
-               else
+               else 
if(rs_library_set_tag_search(rs_conf_get_string(CONF_LIBRARY_TAG_SEARCH)))
+               {
+                       gint last_priority_page = 0;
+                       rs_conf_get_integer(CONF_LAST_PRIORITY_PAGE, 
&last_priority_page);
+                       rs_store_set_current_page(rs->store, 
last_priority_page);
+               } else {
                        rs_conf_set_integer(CONF_LAST_PRIORITY_PAGE, 0);
+               }
                GTK_CATCHUP();
                gui_set_busy(FALSE);
                gui_status_push(_("Ready"));

Modified: trunk/src/rs-library.c
===================================================================
--- trunk/src/rs-library.c      2009-12-20 19:38:56 UTC (rev 2816)
+++ trunk/src/rs-library.c      2009-12-20 21:37:30 UTC (rev 2817)
@@ -46,6 +46,7 @@
 #include "rs-library.h"
 #include "application.h"
 #include "rs-store.h"
+#include "conf_interface.h"
 
 void library_sqlite_error(sqlite3 *db, gint result);
 gint library_create_tables(sqlite3 *db);
@@ -61,6 +62,8 @@
 void library_tag_delete_photos(RS_LIBRARY *library, gint tag_id);
 gboolean library_tag_is_used(RS_LIBRARY *library, gint tag_id);
 
+GtkWidget *tag_search_entry = NULL;
+
 //GList* rs_library_search(GList *tags);
 //void rs_library_add_directory(gchar *directory, gboolean recursive);
 
@@ -655,6 +658,9 @@
        rs_store_remove(rs->store, NULL, NULL);
        g_list_foreach(photos, load_photos, rs);
 
+       rs_conf_set_string(CONF_LIBRARY_TAG_SEARCH, text);
+       rs_conf_unset(CONF_LWD);
+
        g_list_free(photos);
        g_list_free(tags);
 }
@@ -663,13 +669,22 @@
 rs_library_toolbox_new(RS_BLOB *rs)
 {
        GtkWidget *box = gtk_vbox_new(FALSE, 0);
-       GtkWidget *search = gtk_entry_new();
+       tag_search_entry = gtk_entry_new();
 
-       g_signal_connect (search, "changed",
+       g_signal_connect (tag_search_entry, "changed",
                          G_CALLBACK (search_changed), rs);
-       gtk_box_pack_start (GTK_BOX(box), search, FALSE, TRUE, 0);
+       gtk_box_pack_start (GTK_BOX(box), tag_search_entry, FALSE, TRUE, 0);
 
        return box;
 }
 
+gboolean
+rs_library_set_tag_search(gchar *str)
+{
+       if (!str)
+               return FALSE;
+       gtk_entry_set_text(GTK_ENTRY(tag_search_entry), str);
+       return TRUE;
+}
+
 /* END PUBLIC FUNCTIONS */

Modified: trunk/src/rs-library.h
===================================================================
--- trunk/src/rs-library.h      2009-12-20 19:38:56 UTC (rev 2816)
+++ trunk/src/rs-library.h      2009-12-20 21:37:30 UTC (rev 2817)
@@ -39,6 +39,7 @@
 GList * rs_library_photo_tags(RS_LIBRARY *library, gchar *photo, gboolean 
autotag);
 GList * rs_library_find_tag(RS_LIBRARY *library, gchar *tag);
 GtkWidget * rs_library_toolbox_new(RS_BLOB *rs);
+gboolean rs_library_set_tag_search(gchar *str);
 
 //void rs_library_delete_tag(gchar *filename, gchar *tag);
 //void rs_library_find_tags(gchar *filename);


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to