[Top][All Lists]
[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;
- [gcmd-dev] feature-request -- second default color,
André <=