gcmd-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gcmd-dev] feature-request -- second default color


From: André
Subject: [gcmd-dev] feature-request -- second default color
Date: Wed, 07 Jan 2009 00:55:13 +0100
User-agent: Thunderbird 2.0.0.18 (X11/20081229)

i would like to have a second default-color.

andre
--- a/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-data.cc
+++ b/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-data.cc
@@ -1183,6 +1183,8 @@ void GnomeCmdData::load()
     priv->color_themes[GNOME_CMD_COLOR_CUSTOM].respect_theme = FALSE;
     priv->color_themes[GNOME_CMD_COLOR_CUSTOM].norm_fg = gdk_color_new 
(0xffff,0xffff,0xffff);
     priv->color_themes[GNOME_CMD_COLOR_CUSTOM].norm_bg = gdk_color_new 
(0,0,0x4444);
+    priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sec_fg = gdk_color_new 
(0xffff,0xffff,0xffff);
+    priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sec_bg = gdk_color_new 
(0,0,0x4444);
     priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sel_fg = gdk_color_new 
(0xffff,0,0);
     priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sel_bg = gdk_color_new 
(0,0,0x4444);
     priv->color_themes[GNOME_CMD_COLOR_CUSTOM].curs_fg = gdk_color_new (0,0,0);
@@ -1191,6 +1193,8 @@ void GnomeCmdData::load()
     priv->color_themes[GNOME_CMD_COLOR_MODERN].respect_theme = FALSE;
     priv->color_themes[GNOME_CMD_COLOR_MODERN].norm_fg = gdk_color_new (0,0,0);
     priv->color_themes[GNOME_CMD_COLOR_MODERN].norm_bg = gdk_color_new 
(0xdddd,0xdddd,0xdddd);
+    priv->color_themes[GNOME_CMD_COLOR_MODERN].sec_fg = gdk_color_new (0,0,0);
+    priv->color_themes[GNOME_CMD_COLOR_MODERN].sec_bg = gdk_color_new 
(0xdddd,0xdddd,0xdddd);
     priv->color_themes[GNOME_CMD_COLOR_MODERN].sel_fg = gdk_color_new 
(0xffff,0,0);
     priv->color_themes[GNOME_CMD_COLOR_MODERN].sel_bg = gdk_color_new 
(0xdddd,0xdddd,0xdddd);
     priv->color_themes[GNOME_CMD_COLOR_MODERN].curs_fg = gdk_color_new 
(0xffff,0xffff,0xffff);
@@ -1199,6 +1203,8 @@ void GnomeCmdData::load()
     priv->color_themes[GNOME_CMD_COLOR_FUSION].respect_theme = FALSE;
     priv->color_themes[GNOME_CMD_COLOR_FUSION].norm_fg = gdk_color_new 
(0x8080,0xffff,0xffff);
     priv->color_themes[GNOME_CMD_COLOR_FUSION].norm_bg = gdk_color_new 
(0,0x4040,0x8080);
+    priv->color_themes[GNOME_CMD_COLOR_FUSION].sec_fg = gdk_color_new 
(0x8080,0xffff,0xffff);
+    priv->color_themes[GNOME_CMD_COLOR_FUSION].sec_bg = gdk_color_new 
(0,0x4040,0x8080);
     priv->color_themes[GNOME_CMD_COLOR_FUSION].sel_fg = gdk_color_new 
(0xffff,0xffff,0);
     priv->color_themes[GNOME_CMD_COLOR_FUSION].sel_bg = gdk_color_new 
(0,0x4040,0x8080);
     priv->color_themes[GNOME_CMD_COLOR_FUSION].curs_fg = gdk_color_new 
(0,0,0x8080);
@@ -1207,6 +1213,8 @@ void GnomeCmdData::load()
     priv->color_themes[GNOME_CMD_COLOR_CLASSIC].respect_theme = FALSE;
     priv->color_themes[GNOME_CMD_COLOR_CLASSIC].norm_fg = gdk_color_new 
(0xffff,0xffff,0xffff);
     priv->color_themes[GNOME_CMD_COLOR_CLASSIC].norm_bg = gdk_color_new 
(0,0,0x4444);
+    priv->color_themes[GNOME_CMD_COLOR_CLASSIC].sec_fg = gdk_color_new 
(0xffff,0xffff,0xffff);
+    priv->color_themes[GNOME_CMD_COLOR_CLASSIC].sec_bg = gdk_color_new 
(0,0,0x4444);
     priv->color_themes[GNOME_CMD_COLOR_CLASSIC].sel_fg = gdk_color_new 
(0xffff,0xffff,0);
     priv->color_themes[GNOME_CMD_COLOR_CLASSIC].sel_bg = gdk_color_new 
(0,0,0x4444);
     priv->color_themes[GNOME_CMD_COLOR_CLASSIC].curs_fg = gdk_color_new 
(0,0,0);
@@ -1215,6 +1223,8 @@ void GnomeCmdData::load()
     priv->color_themes[GNOME_CMD_COLOR_DEEP_BLUE].respect_theme = FALSE;
     priv->color_themes[GNOME_CMD_COLOR_DEEP_BLUE].norm_fg = gdk_color_new 
(0,0xffff,0xffff);
     priv->color_themes[GNOME_CMD_COLOR_DEEP_BLUE].norm_bg = gdk_color_new 
(0,0,0x8080);
+    priv->color_themes[GNOME_CMD_COLOR_DEEP_BLUE].sec_fg = gdk_color_new 
(0,0xffff,0xffff);
+    priv->color_themes[GNOME_CMD_COLOR_DEEP_BLUE].sec_bg = gdk_color_new 
(0,0,0x8080);
     priv->color_themes[GNOME_CMD_COLOR_DEEP_BLUE].sel_fg = gdk_color_new 
(0xffff,0xffff,0);
     priv->color_themes[GNOME_CMD_COLOR_DEEP_BLUE].sel_bg = gdk_color_new 
(0x8080,0x8080,0x8080);
     priv->color_themes[GNOME_CMD_COLOR_DEEP_BLUE].curs_fg = gdk_color_new 
(0,0,0);
@@ -1223,6 +1233,8 @@ void GnomeCmdData::load()
     priv->color_themes[GNOME_CMD_COLOR_CAFEZINHO].respect_theme = FALSE;
     priv->color_themes[GNOME_CMD_COLOR_CAFEZINHO].norm_fg = gdk_color_new 
(0xe4e4,0xdede,0xd5d5);
     priv->color_themes[GNOME_CMD_COLOR_CAFEZINHO].norm_bg = gdk_color_new 
(0x199a,0x1530,0x11a8);
+    priv->color_themes[GNOME_CMD_COLOR_CAFEZINHO].sec_fg = gdk_color_new 
(0xe4e4,0xdede,0xd5d5);
+    priv->color_themes[GNOME_CMD_COLOR_CAFEZINHO].sec_bg = gdk_color_new 
(0x199a,0x1530,0x11a8);
     priv->color_themes[GNOME_CMD_COLOR_CAFEZINHO].sel_fg = gdk_color_new 
(0xffff,0xcfcf,0x3636);
     priv->color_themes[GNOME_CMD_COLOR_CAFEZINHO].sel_bg = gdk_color_new 
(0,0xffff,0);
     priv->color_themes[GNOME_CMD_COLOR_CAFEZINHO].curs_fg = gdk_color_new 
(0xe4e4,0xdede,0xd5d5);
@@ -1231,6 +1243,8 @@ void GnomeCmdData::load()
     priv->color_themes[GNOME_CMD_COLOR_NONE].respect_theme = TRUE;
     priv->color_themes[GNOME_CMD_COLOR_NONE].norm_fg = NULL;
     priv->color_themes[GNOME_CMD_COLOR_NONE].norm_bg = NULL;
+    priv->color_themes[GNOME_CMD_COLOR_NONE].sec_fg = NULL;
+    priv->color_themes[GNOME_CMD_COLOR_NONE].sec_bg = NULL;
     priv->color_themes[GNOME_CMD_COLOR_NONE].sel_fg = NULL;
     priv->color_themes[GNOME_CMD_COLOR_NONE].sel_bg = NULL;
     priv->color_themes[GNOME_CMD_COLOR_NONE].curs_fg = NULL;
@@ -1289,6 +1303,8 @@ void GnomeCmdData::load()
 
     gnome_cmd_data_get_color ("/colors/norm_fg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].norm_fg);
     gnome_cmd_data_get_color ("/colors/norm_bg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].norm_bg);
+    gnome_cmd_data_get_color ("/colors/sec_fg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sec_fg);
+    gnome_cmd_data_get_color ("/colors/sec_bg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sec_bg);
     gnome_cmd_data_get_color ("/colors/sel_fg",  
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sel_fg);
     gnome_cmd_data_get_color ("/colors/sel_bg",  
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sel_bg);
     gnome_cmd_data_get_color ("/colors/curs_fg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].curs_fg);
@@ -1674,6 +1690,8 @@ void GnomeCmdData::save()
 
     gnome_cmd_data_set_color  ("/colors/norm_fg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].norm_fg);
     gnome_cmd_data_set_color  ("/colors/norm_bg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].norm_bg);
+    gnome_cmd_data_set_color  ("/colors/sec_fg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sec_fg);
+    gnome_cmd_data_set_color  ("/colors/sec_bg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sec_bg);
     gnome_cmd_data_set_color  ("/colors/sel_fg",  
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sel_fg);
     gnome_cmd_data_set_color  ("/colors/sel_bg",  
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].sel_bg);
     gnome_cmd_data_set_color  ("/colors/curs_fg", 
priv->color_themes[GNOME_CMD_COLOR_CUSTOM].curs_fg);
--- a/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-file-list.cc
+++ b/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-file-list.cc
@@ -374,7 +374,16 @@ static void unselect_file (GnomeCmdFileList *fl, 
GnomeCmdFile *finfo)
     fl->priv->selected_files = g_list_remove (fl->priv->selected_files, finfo);
 
     if (!gnome_cmd_data_get_use_ls_colors ())
-        gtk_clist_set_row_style (*fl, row, list_style);
+    {
+        if (row % 2)
+        {
+            gtk_clist_set_row_style (*fl, row, list_style);
+        }
+        else
+        {
+            gtk_clist_set_row_style (*fl, row, sec_list_style);
+        }
+    }
     else
         if (LsColor *col = ls_colors_get (finfo))
         {
@@ -1375,7 +1384,16 @@ inline void add_file_to_clist (GnomeCmdFileList *fl, 
GnomeCmdFile *finfo, gint i
 
     // Setup row data and color
     if (!gnome_cmd_data_get_use_ls_colors ())
-        gtk_clist_set_row_style (clist, row, list_style);
+    {
+        if (row % 2)
+        {
+            gtk_clist_set_row_style (clist, row, list_style);
+        }
+        else
+        {
+            gtk_clist_set_row_style (clist, row, sec_list_style);
+        }
+    }
     else
     {
         LsColor *col = ls_colors_get (finfo);
--- a/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-options-dialog.cc
+++ b/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-options-dialog.cc
@@ -338,6 +338,8 @@ static void on_edit_colors_close (GtkButton *btn, GtkWidget 
*dlg)
 {
     GtkWidget *norm_fg = lookup_widget (GTK_WIDGET (dlg), "default_fg");
     GtkWidget *norm_bg = lookup_widget (GTK_WIDGET (dlg), "default_bg");
+    GtkWidget *sec_fg = lookup_widget (GTK_WIDGET (dlg), "second_fg");
+    GtkWidget *sec_bg = lookup_widget (GTK_WIDGET (dlg), "second_bg");
     GtkWidget *sel_fg = lookup_widget (GTK_WIDGET (dlg), "selected_fg");
     GtkWidget *sel_bg = lookup_widget (GTK_WIDGET (dlg), "selected_bg");
     GtkWidget *curs_fg = lookup_widget (GTK_WIDGET (dlg), "cursor_fg");
@@ -352,6 +354,12 @@ static void on_edit_colors_close (GtkButton *btn, 
GtkWidget *dlg)
         GNOME_COLOR_PICKER (norm_bg),
         &colors->norm_bg->red, &colors->norm_bg->green, 
&colors->norm_bg->blue, &a);
     gnome_color_picker_get_i16 (
+        GNOME_COLOR_PICKER (sec_fg),
+        &colors->sec_fg->red, &colors->sec_fg->green, &colors->sec_fg->blue, 
&a);
+    gnome_color_picker_get_i16 (
+        GNOME_COLOR_PICKER (sec_bg),
+        &colors->sec_bg->red, &colors->sec_bg->green, &colors->sec_bg->blue, 
&a);
+    gnome_color_picker_get_i16 (
         GNOME_COLOR_PICKER (sel_fg),
         &colors->sel_fg->red, &colors->sel_fg->green, &colors->sel_fg->blue, 
&a);
     gnome_color_picker_get_i16 (
@@ -382,7 +390,7 @@ static void on_colors_edit (GtkButton *btn, GtkWidget 
*parent)
     cat = create_category (dlg, cat_box, _("Colors"));
     gnome_cmd_dialog_add_category (GNOME_CMD_DIALOG (dlg), cat);
 
-    table = create_table (dlg, 4, 3);
+    table = create_table (dlg, 5, 3);
     gtk_container_add (GTK_CONTAINER (cat_box), table);
 
     cpicker = create_color_picker (dlg, "default_fg");
@@ -395,23 +403,33 @@ static void on_colors_edit (GtkButton *btn, GtkWidget 
*parent)
     gnome_color_picker_set_i16 (
         GNOME_COLOR_PICKER (cpicker),
         colors->norm_bg->red, colors->norm_bg->green, colors->norm_bg->blue, 
0);
-    cpicker = create_color_picker (dlg, "selected_fg");
+    cpicker = create_color_picker (dlg, "second_fg");
     table_add (table, cpicker, 1, 2, (GtkAttachOptions)0);
     gnome_color_picker_set_i16 (
         GNOME_COLOR_PICKER (cpicker),
+        colors->sec_fg->red, colors->sec_fg->green, colors->sec_fg->blue, 0);
+    cpicker = create_color_picker (dlg, "second_bg");
+    table_add (table, cpicker, 2, 2, (GtkAttachOptions)0);
+    gnome_color_picker_set_i16 (
+        GNOME_COLOR_PICKER (cpicker),
+        colors->sec_bg->red, colors->sec_bg->green, colors->sec_bg->blue, 0);
+    cpicker = create_color_picker (dlg, "selected_fg");
+    table_add (table, cpicker, 1, 3, (GtkAttachOptions)0);
+    gnome_color_picker_set_i16 (
+        GNOME_COLOR_PICKER (cpicker),
         colors->sel_fg->red, colors->sel_fg->green, colors->sel_fg->blue, 0);
     cpicker = create_color_picker (dlg, "selected_bg");
-    table_add (table, cpicker, 2, 2, (GtkAttachOptions)0);
+    table_add (table, cpicker, 2, 3, (GtkAttachOptions)0);
     gnome_color_picker_set_i16 (
         GNOME_COLOR_PICKER (cpicker),
         colors->sel_bg->red, colors->sel_bg->green, colors->sel_bg->blue, 0);
     cpicker = create_color_picker (dlg, "cursor_fg");
-    table_add (table, cpicker, 1, 3, (GtkAttachOptions)0);
+    table_add (table, cpicker, 1, 4, (GtkAttachOptions)0);
     gnome_color_picker_set_i16 (
         GNOME_COLOR_PICKER (cpicker),
         colors->curs_fg->red, colors->curs_fg->green, colors->curs_fg->blue, 
0);
     cpicker = create_color_picker (dlg, "cursor_bg");
-    table_add (table, cpicker, 2, 3, (GtkAttachOptions)0);
+    table_add (table, cpicker, 2, 4, (GtkAttachOptions)0);
     gnome_color_picker_set_i16 (
         GNOME_COLOR_PICKER (cpicker),
         colors->curs_bg->red, colors->curs_bg->green, colors->curs_bg->blue, 
0);
@@ -422,10 +440,12 @@ static void on_colors_edit (GtkButton *btn, GtkWidget 
*parent)
     table_add (table, label, 2, 0, (GtkAttachOptions) GTK_FILL);
     label = create_label (dlg, _("Default:"));
     table_add (table, label, 0, 1, (GtkAttachOptions) GTK_FILL);
-    label = create_label (dlg, _("Selected file:"));
+    label = create_label (dlg, _("Second Default:"));
     table_add (table, label, 0, 2, (GtkAttachOptions) GTK_FILL);
-    label = create_label (dlg, _("Cursor:"));
+    label = create_label (dlg, _("Selected file:"));
     table_add (table, label, 0, 3, (GtkAttachOptions) GTK_FILL);
+    label = create_label (dlg, _("Cursor:"));
+    table_add (table, label, 0, 4, (GtkAttachOptions) GTK_FILL);
 
     gnome_cmd_dialog_add_button (GNOME_CMD_DIALOG (dlg), 
GNOME_STOCK_BUTTON_CLOSE,
                                  GTK_SIGNAL_FUNC (on_edit_colors_close), dlg);
--- a/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-style.cc
+++ b/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-style.cc
@@ -28,6 +28,7 @@ using namespace std;
 
 
 GtkStyle *list_style = NULL;
+GtkStyle *sec_list_style = NULL;
 GtkStyle *sel_list_style = NULL;
 
 
@@ -65,6 +66,40 @@ inline GtkStyle *create_list_style ()
 }
 
 
+inline GtkStyle *create_sec_list_style ()
+{
+    GnomeCmdColorTheme *cols = gnome_cmd_data_get_current_color_theme ();
+    const gchar *font_name = gnome_cmd_data_get_list_font ();
+    GtkStyle *style = gtk_style_new ();
+
+    if (strcmp (font_name, "default") != 0)
+    {
+        PangoFontDescription *pfont;
+        pfont = pango_font_description_from_string (font_name);
+
+        if (pfont && pango_font_description_get_size (pfont) != 0)
+        {
+            if (style->font_desc)
+                pango_font_description_free (style->font_desc);
+            style->font_desc = pfont;
+        }
+    }
+
+    if (!cols->respect_theme)
+    {
+        style->fg[GTK_STATE_SELECTED] = *cols->curs_fg;
+        style->text[GTK_STATE_NORMAL] = *cols->sec_fg;
+        style->fg[GTK_STATE_NORMAL] = *cols->sec_fg;
+
+        style->bg[GTK_STATE_SELECTED] = *cols->curs_bg;
+        style->base[GTK_STATE_NORMAL] = *cols->sec_bg;
+        style->base[GTK_STATE_ACTIVE] = *cols->sec_bg;
+    }
+
+    return style;
+}
+
+
 inline GtkStyle *create_sel_list_style ()
 {
     GtkStyle *style;
@@ -93,7 +128,7 @@ inline GtkStyle *create_sel_list_style ()
 
         style->bg[GTK_STATE_SELECTED] = *cols->curs_bg;
         style->bg[GTK_STATE_NORMAL] = *cols->sel_bg;
-        style->base[GTK_STATE_NORMAL] = *cols->norm_bg;
+        style->base[GTK_STATE_NORMAL] = *cols->sel_bg;
         style->base[GTK_STATE_ACTIVE] = *cols->norm_bg;
     }
 
@@ -104,8 +139,10 @@ inline GtkStyle *create_sel_list_style ()
 void gnome_cmd_style_create ()
 {
     if (list_style) gtk_style_unref (list_style);
+    if (sec_list_style) gtk_style_unref (sec_list_style);
     if (sel_list_style) gtk_style_unref (sel_list_style);
 
     list_style = create_list_style ();
+    sec_list_style = create_sec_list_style ();
     sel_list_style = create_sel_list_style ();
 }
--- a/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-style.h
+++ b/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-style.h
@@ -21,7 +21,7 @@
 #ifndef __GNOME_CMD_STYLE_H__
 #define __GNOME_CMD_STYLE_H__
 
-extern GtkStyle *list_style, *sel_list_style;
+extern GtkStyle *list_style, *sec_list_style, *sel_list_style;
 
 void gnome_cmd_style_create ();
 
--- a/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-types.h
+++ b/gnome-commander/branches/gcmd-1-3/src/gnome-cmd-types.h
@@ -82,6 +82,7 @@ typedef struct
     GdkColor *sel_fg, *sel_bg;
     GdkColor *norm_fg, *norm_bg;
     GdkColor *curs_fg, *curs_bg;
+    GdkColor *sec_fg, *sec_bg;
 } GnomeCmdColorTheme;

reply via email to

[Prev in Thread] Current Thread [Next in Thread]