Author: akv
Date: 2009-12-30 19:15:15 +0100 (Wed, 30 Dec 2009)
New Revision: 2896
Modified:
branches/rawstudio-ng-color/librawstudio/rs-lens-db-editor.c
branches/rawstudio-ng-color/librawstudio/rs-lens-db-editor.h
Log:
Added 'enabled' to Lens editor.
Modified: branches/rawstudio-ng-color/librawstudio/rs-lens-db-editor.c
===================================================================
--- branches/rawstudio-ng-color/librawstudio/rs-lens-db-editor.c
2009-12-30 18:13:23 UTC (rev 2895)
+++ branches/rawstudio-ng-color/librawstudio/rs-lens-db-editor.c
2009-12-30 18:15:15 UTC (rev 2896)
@@ -275,10 +275,40 @@
0, gtk_get_current_event_time ());
}
+toggle_clicked (GtkCellRendererToggle *cell_renderer_toggle, const gchar
*path, gpointer user_data)
+{
+ GtkTreeIter iter;
+ gboolean enabled;
+ GtkTreeView *tree_view = GTK_TREE_VIEW(user_data);
+ GtkTreeModel *tree_model = gtk_tree_view_get_model(tree_view);
+ GtkTreePath* tree_path = gtk_tree_path_new_from_string(path);
+
+ gtk_tree_model_get_iter(GTK_TREE_MODEL (tree_model), &iter, tree_path);
+ gtk_tree_model_get(GTK_TREE_MODEL (tree_model), &iter,
RS_LENS_DB_EDITOR_ENABLED, &enabled, -1);
+
+ if (enabled)
+ gtk_list_store_set(GTK_LIST_STORE (tree_model), &iter,
RS_LENS_DB_EDITOR_ENABLED, FALSE, -1);
+ else
+ gtk_list_store_set(GTK_LIST_STORE (tree_model), &iter,
RS_LENS_DB_EDITOR_ENABLED, TRUE, -1);
+
+ RSLens *rs_lens = NULL;
+ gtk_tree_model_get (tree_model, &iter,
+ RS_LENS_DB_EDITOR_LENS, &rs_lens,
+ -1);
+
+ /* Set enabled/disabled to the selected RSLens */
+ rs_lens_set_lensfun_enabled(rs_lens, !enabled);
+
+ RSLensDb *lens_db = rs_lens_db_get_default();
+
+ /* Force save of RSLensDb */
+ rs_lens_db_save(lens_db);
+}
+
void
rs_lens_db_editor()
{
- GtkTreeModel *tree_model = GTK_TREE_MODEL(gtk_list_store_new(8,
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_OBJECT));
+ GtkTreeModel *tree_model = GTK_TREE_MODEL(gtk_list_store_new(9,
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_OBJECT));
RSLensDb *lens_db = rs_lens_db_get_default();
fill_model(lens_db, tree_model);
@@ -300,6 +330,7 @@
GtkCellRenderer *renderer_aperture = gtk_cell_renderer_text_new();
GtkCellRenderer *renderer_camera_make = gtk_cell_renderer_text_new();
GtkCellRenderer *renderer_camera_model = gtk_cell_renderer_text_new();
+ GtkCellRenderer *renderer_enabled = gtk_cell_renderer_toggle_new();
GtkTreeViewColumn *column_lens_make =
gtk_tree_view_column_new_with_attributes (_("Lens make"),
renderer_lens_make,
@@ -325,16 +356,24 @@
renderer_camera_model,
"text",
RS_LENS_DB_EDITOR_CAMERA_MODEL,
NULL);
+ GtkTreeViewColumn *column_enabled =
gtk_tree_view_column_new_with_attributes (_("Enabled"),
+
renderer_enabled,
+ "active",
RS_LENS_DB_EDITOR_ENABLED,
+
NULL);
g_signal_connect(G_OBJECT(view), "row-activated",
G_CALLBACK(row_clicked), NULL);
+ g_signal_connect (renderer_enabled, "toggled",
+ G_CALLBACK (toggle_clicked), view);
+
gtk_tree_view_append_column (GTK_TREE_VIEW (view), column_lens_make);
gtk_tree_view_append_column (GTK_TREE_VIEW (view), column_lens_model);
gtk_tree_view_append_column (GTK_TREE_VIEW (view), column_focal);
gtk_tree_view_append_column (GTK_TREE_VIEW (view), column_aperture);
gtk_tree_view_append_column (GTK_TREE_VIEW (view), column_camera_make);
gtk_tree_view_append_column (GTK_TREE_VIEW (view),
column_camera_model);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (view), column_enabled);
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW (view), TRUE);
@@ -356,6 +395,7 @@
gdouble min_focal, max_focal, min_aperture, max_aperture;
gchar *camera_make;
gchar *camera_model;
+ gboolean enabled;
RSLens *lens = list->data;
@@ -370,6 +410,7 @@
"max-aperture", &max_aperture,
"camera-make", &camera_make,
"camera-model", &camera_model,
+ "enabled", &enabled,
NULL);
const gchar *human_focal = rs_human_focal(min_focal, max_focal);
@@ -386,6 +427,7 @@
RS_LENS_DB_EDITOR_LENS_MODEL, lensfun_model,
RS_LENS_DB_EDITOR_CAMERA_MAKE, camera_make,
RS_LENS_DB_EDITOR_CAMERA_MODEL,
camera_model,
+ RS_LENS_DB_EDITOR_ENABLED, enabled,
RS_LENS_DB_EDITOR_LENS, lens,
-1);
list = g_list_next (list);
Modified: branches/rawstudio-ng-color/librawstudio/rs-lens-db-editor.h
===================================================================
--- branches/rawstudio-ng-color/librawstudio/rs-lens-db-editor.h
2009-12-30 18:13:23 UTC (rev 2895)
+++ branches/rawstudio-ng-color/librawstudio/rs-lens-db-editor.h
2009-12-30 18:15:15 UTC (rev 2896)
@@ -28,6 +28,7 @@
RS_LENS_DB_EDITOR_LENS_MODEL,
RS_LENS_DB_EDITOR_CAMERA_MAKE,
RS_LENS_DB_EDITOR_CAMERA_MODEL,
+ RS_LENS_DB_EDITOR_ENABLED,
RS_LENS_DB_EDITOR_LENS
};
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit