[pan2: 1/3] buggy



commit 40db4da497fbac41b7711b353b190bcb471d3f20
Author: Heinrich MÃller <henmull src gnome org>
Date:   Wed Jan 25 08:41:11 2012 +0100

    buggy

 pan.cbp                                            |    8 +-
 pan/data-impl/data-io.cc                           |   18 --
 pan/data-impl/data-io.h                            |    3 -
 pan/gui/Makefile.am                                |    3 +-
 pan/gui/actions.cc                                 |   32 +++-
 pan/gui/body-pane.cc                               |    1 +
 pan/gui/hotkeys.cc                                 |   56 ------
 pan/gui/hotkeys.h                                  |   31 ----
 pan/gui/prefs-ui.cc                                |  181 ++++++++++++++------
 pan/gui/prefs-ui.h                                 |   25 +++
 pan/gui/prefs.cc                                   |   17 --
 pan/gui/prefs.h                                    |    3 -
 pan/icons/icon_article_unread.png.BACKUP.16201.png |  Bin 0 -> 593 bytes
 pan/icons/icon_article_unread.png.LOCAL.16201.png  |  Bin 0 -> 593 bytes
 pan/icons/icon_article_unread.png.REMOTE.16201.png |  Bin 0 -> 438 bytes
 pan/icons/icon_prefs_actions.png                   |  Bin 0 -> 887 bytes
 pan/icons/icon_prefs_applications.png              |  Bin 0 -> 669 bytes
 pan/icons/icon_prefs_behavior.png                  |  Bin 0 -> 1017 bytes
 pan/icons/icon_prefs_colors.png                    |  Bin 0 -> 850 bytes
 pan/icons/icon_prefs_extras.png                    |  Bin 0 -> 833 bytes
 pan/icons/icon_prefs_fonts.png                     |  Bin 0 -> 654 bytes
 pan/icons/icon_prefs_headers.png                   |  Bin 0 -> 696 bytes
 pan/icons/icon_prefs_hotkeys.png                   |  Bin 0 -> 514 bytes
 pan/icons/icon_prefs_layout.png                    |  Bin 0 -> 508 bytes
 pan/icons/icon_prefs_upload.png                    |  Bin 0 -> 584 bytes
 25 files changed, 182 insertions(+), 196 deletions(-)
---
diff --git a/pan.cbp b/pan.cbp
index f280e71..08b5c4a 100644
--- a/pan.cbp
+++ b/pan.cbp
@@ -153,6 +153,7 @@
 		<Unit filename="pan/general/worker-pool.cc" />
 		<Unit filename="pan/general/worker-pool.h" />
 		<Unit filename="pan/gui/action-manager.h" />
+		<Unit filename="pan/gui/actions-extern.h" />
 		<Unit filename="pan/gui/actions.cc" />
 		<Unit filename="pan/gui/actions.h" />
 		<Unit filename="pan/gui/body-pane.cc" />
@@ -192,17 +193,10 @@
 		</Unit>
 		<Unit filename="pan/gui/gui.cc" />
 		<Unit filename="pan/gui/gui.h" />
-		<Unit filename="pan/gui/header-pane-factory.cc">
-			<Option target="all_linux" />
-		</Unit>
-		<Unit filename="pan/gui/header-pane-factory.h">
-			<Option target="all_linux" />
-		</Unit>
 		<Unit filename="pan/gui/header-pane.cc" />
 		<Unit filename="pan/gui/header-pane.h" />
 		<Unit filename="pan/gui/hig.cc" />
 		<Unit filename="pan/gui/hig.h" />
-		<Unit filename="pan/gui/hotkeys.cc" />
 		<Unit filename="pan/gui/license.h" />
 		<Unit filename="pan/gui/log-ui.cc" />
 		<Unit filename="pan/gui/log-ui.h" />
diff --git a/pan/data-impl/data-io.cc b/pan/data-impl/data-io.cc
index 9fd9802..4559979 100644
--- a/pan/data-impl/data-io.cc
+++ b/pan/data-impl/data-io.cc
@@ -116,12 +116,6 @@ DataIO :: get_server_filename () const
   return get_pan_home_file ("servers.xml");
 }
 
-std::string
-DataIO :: get_hotkey_filename () const
-{
-  return get_pan_home_file ("pan.hotkeys");
-}
-
 /****
 *****
 ****/
@@ -170,12 +164,6 @@ DataIO :: read_group_headers (const Quark& group) const
 }
 
 LineReader*
-DataIO :: read_hotkeys () const
-{
-  return new FileLineReader (get_hotkey_filename());
-}
-
-LineReader*
 DataIO :: read_file (const StringView& filename) const
 {
   return new FileLineReader (filename);
@@ -257,12 +245,6 @@ DataIO :: write_group_permissions ()
 }
 
 std::ostream*
-DataIO :: write_hotkeys ()
-{
-  return write_file (get_hotkey_filename ());
-}
-
-std::ostream*
 DataIO :: write_group_headers (const Quark& group)
 {
   return write_file (get_group_headers_filename (group));
diff --git a/pan/data-impl/data-io.h b/pan/data-impl/data-io.h
index 60f1380..ab0b2cc 100644
--- a/pan/data-impl/data-io.h
+++ b/pan/data-impl/data-io.h
@@ -42,7 +42,6 @@ namespace pan
     virtual std::string get_scorefile_name () const;
     virtual std::string get_posting_name () const;
     virtual std::string get_server_filename () const;
-    virtual std::string get_hotkey_filename () const;
 
     virtual void clear_group_headers (const Quark& group);
 
@@ -51,7 +50,6 @@ namespace pan
     virtual LineReader* read_group_headers (const Quark& group) const;
     virtual LineReader* read_group_descriptions () const;
     virtual LineReader* read_group_permissions () const;
-    virtual LineReader* read_hotkeys () const;
 
     virtual std::ostream* write_tasks ();
     virtual std::ostream* write_server_properties ();
@@ -59,7 +57,6 @@ namespace pan
     virtual std::ostream* write_group_descriptions ();
     virtual std::ostream* write_group_permissions ();
     virtual std::ostream* write_group_headers (const Quark& group);
-    virtual std::ostream* write_hotkeys ();
     virtual void write_done (std::ostream*);
 
     virtual LineReader* read_file (const StringView& filename) const;
diff --git a/pan/gui/Makefile.am b/pan/gui/Makefile.am
index 605b8db..0292501 100644
--- a/pan/gui/Makefile.am
+++ b/pan/gui/Makefile.am
@@ -35,8 +35,7 @@ libpangui_a_SOURCES = \
  server-ui.cc \
  task-pane.cc \
  xface.c \
- url.cc \
- hotkeys.cc
+ url.cc
 
 noinst_HEADERS = \
  action-manager.h \
diff --git a/pan/gui/actions.cc b/pan/gui/actions.cc
index 329e7e5..27a930d 100644
--- a/pan/gui/actions.cc
+++ b/pan/gui/actions.cc
@@ -22,6 +22,8 @@ extern "C" {
   #include <glib/gi18n.h>
   #include "gtk-compat.h"
 }
+
+#include <pan/general/macros.h>
 #include <pan/general/debug.h>
 #include <pan/data-impl/data-impl.h>
 #include <pan/tasks/task-xover.h>
@@ -30,9 +32,14 @@ extern "C" {
 #include "pad.h"
 #include "gui.h"
 
+namespace pan
+{
+  std::map<std::string,std::string> action_trans;
+}
+
 using pan::PanUI;
 
-namespace
+namespace pan
 {
 
   PanUI * pan_ui (0);
@@ -767,15 +774,30 @@ namespace
 void
 pan :: add_actions (PanUI * ui, GtkUIManager * ui_manager, Prefs * p, Data* data)
 {
+
+  for (int i=0;i<n_entries;++i)
+  {
+    if (!entries[i].label) continue;
+    action_trans[entries[i].name] = (entries[i].label ? entries[i].label : "");
+  }
+
+  for (int i=0;i<n_toggle_entries;++i)
+  {
+    if (!toggle_entries[i].label) continue;
+    action_trans[toggle_entries[i].name] = (toggle_entries[i].label ? toggle_entries[i].label : "");
+  }
+
+  for (int i=0;i<G_N_ELEMENTS(match_toggle_entries);++i)
+  {
+    if (!match_toggle_entries[i].label) continue;
+    action_trans[match_toggle_entries[i].name] = (match_toggle_entries[i].label ? match_toggle_entries[i].label : "");
+  }
+
   pan_ui = ui;
   prefs = p;
 
   register_my_builtin_icons ();
 
-  std::map<gchar*,guint> keymap;
-
-//  int ret = get_all_hotkeys (keymap);
-
   for (GtkToggleActionEntry *it(toggle_entries), *end(it+n_toggle_entries); it!=end; ++it)
   {
     ensure_tooltip (reinterpret_cast<GtkActionEntry*>(it));
diff --git a/pan/gui/body-pane.cc b/pan/gui/body-pane.cc
index 9a7896c..5ecfc2a 100644
--- a/pan/gui/body-pane.cc
+++ b/pan/gui/body-pane.cc
@@ -1505,6 +1505,7 @@ BodyPane :: populate_popup_cb (GtkTextView *v, GtkMenu *m, gpointer pane)
 {
   static_cast<BodyPane*>(pane)->populate_popup(v, m);
 }
+
 void
 BodyPane :: populate_popup (GtkTextView *v G_GNUC_UNUSED, GtkMenu *m)
 {
diff --git a/pan/gui/prefs-ui.cc b/pan/gui/prefs-ui.cc
index 5320cf1..340bf21 100644
--- a/pan/gui/prefs-ui.cc
+++ b/pan/gui/prefs-ui.cc
@@ -34,20 +34,15 @@ extern "C" {
 #include "url.h"
 #include "gtk-compat.h"
 #include "e-charset-dialog.h"
-#include "hotkeys.h"
+#include "actions-extern.h"
 
 using namespace pan;
 
-namespace
+namespace pan
 {
-  std::string get_accel_filename () {
-    char * tmp = g_build_filename (file::get_pan_home().c_str(), "accels.txt", NULL);
-    std::string ret (tmp);
-    g_free (tmp);
-    return ret;
-  }
+  typedef PrefsDialog::CallBackData CallBackData;
 
-  typedef struct std::map<std::string,GtkAccelKey> keymap_t;
+  typedef std::map<std::string,GtkAccelKey> keymap_t;
 
   struct HotkeyData
   {
@@ -59,33 +54,94 @@ namespace
 
   static HotkeyData hotkey_data;
 
-//  void hotkey_entry_icon_press_cb(GtkEntry             * entry,
-//                                  GtkEntryIconPosition,
-//                                  GdkEvent             *,
-//                                  gpointer               gpointer)
-//  {
-//    char* ptr = static_cast<char*>(gpointer);
-//
-//    guint key;
-//    GdkModifierType mod;
-//
-//    gtk_accelerator_parse (gtk_entry_get_text(entry),&key,&mod);
-//
-//    std::cerr<<"click parse "<<ptr<<" "<<key<<" "<<mod<<"\n";
-//
-//    GtkAccelKey newkey;
-//
-//    // reset the other keybinding
-//    gtk_accel_map_change_entry ("", key, mod, true);
-//
-//    newkey.accel_key = key;
-//    newkey.accel_mods = mod;
-//
-//    gtk_accel_map_change_entry (ptr, key, mod, true);
-//    hotkey_data.keys[ptr] = newkey;
-//  }
+  gboolean  hotkey_pressed_cb        (GtkWidget *,
+                                      GdkEvent  *event,
+                                      gpointer   user_data)
+  {
+
+    CallBackData* data = static_cast<CallBackData*>(user_data);
+
+    GdkEventKey* key = (GdkEventKey*)event;
+
+//    if (key->is_modifier) return false;
+
+    guint keyval = key->keyval;
+    guint state = key->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK);
+
+    GtkAccelKey acc_key;
+    acc_key.accel_key = keyval;
+    acc_key.accel_mods = GdkModifierType(state);
+
+    gtk_accel_map_change_entry(data->name.c_str(), keyval, GdkModifierType(state), true);
+
+    gtk_widget_destroy(data->win);
+
+    hotkey_data.keys[data->name] = acc_key;
+
+    return true;
+  }
+
+}
+
+void
+PrefsDialog :: edit_shortkey (CallBackData* data)
+{
+  GtkAccelKey key;
+
+  GtkWidget * win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title(GTK_WINDOW(win), _("Select a new Hotkey"));
+
+  data->win = win;
+  g_signal_connect(win, "key-press-event", G_CALLBACK(hotkey_pressed_cb), data);
+
+  gtk_widget_set_size_request(win, 400,100);
+
+  gtk_widget_show_all(win);
+
+}
+
+void
+PrefsDialog :: edit_shortkey_cb (GtkMenuItem *mi, gpointer ptr)
+{
+  CallBackData* data = static_cast<CallBackData*>(ptr);
+  data->dialog->edit_shortkey(data);
+}
+
+void
+PrefsDialog :: populate_popup (GtkEntry *e, GtkMenu *m)
+{
+  GtkWidget * mi = gtk_menu_item_new();
+  gtk_widget_show (mi);
+  gtk_menu_shell_prepend (GTK_MENU_SHELL(m), mi);
+
+  GtkWidget * img = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU);
+  mi = gtk_image_menu_item_new_with_mnemonic (_("Edit Hotkey"));
+
+  CallBackData* data = (CallBackData*)g_object_get_data(G_OBJECT(e), "data");
+
+  g_signal_connect (mi, "activate", G_CALLBACK(edit_shortkey_cb), data);
+  gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), img);
+  gtk_widget_show_all (mi);
+  gtk_menu_shell_prepend (GTK_MENU_SHELL(m), mi);
+}
+
+namespace pan
+{
+
+  std::string get_accel_filename () {
+    char * tmp = g_build_filename (file::get_pan_home().c_str(), "accels.txt", NULL);
+    std::string ret (tmp);
+    g_free (tmp);
+    return ret;
+  }
+
+  void
+  populate_popup_cb (GtkEntry *e, GtkMenu *m, gpointer ptr)
+  {
+    g_object_set_data (G_OBJECT (e), "data", ptr);
+    static_cast<PrefsDialog::CallBackData*>(ptr)->dialog->populate_popup(e, m);
+  }
 
-  // TODO offer replace with context menu!
   void hotkey_entry_changed_cb (GtkEntry * e, gpointer gpointer)
   {
 
@@ -135,13 +191,10 @@ namespace
       if (it->second.accel_key == key && it->second.accel_mods == mod) { found=true; break;}
     }
 
-
     if (found)
     {
       gtk_entry_set_icon_from_stock(e, GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_DIALOG_WARNING);
       gtk_entry_set_icon_tooltip_text (e, GTK_ENTRY_ICON_PRIMARY, _("Error: Shortkey already exists!"));
-      gtk_entry_set_icon_activatable(e, GTK_ENTRY_ICON_PRIMARY, true);
-
     }
     else
     {
@@ -162,6 +215,10 @@ namespace
     key.accel_mods = accel_mods;
     data->keys[accel_path] = key;
 
+    guint _key;
+    GdkModifierType _mod;
+    GtkAccelKey acc_key;
+
   }
 
 
@@ -175,7 +232,6 @@ namespace
                                   it->second.accel_key,
                                   it->second.accel_mods,
                                   true);
-
     }
 
     // save 'em
@@ -241,13 +297,14 @@ namespace
     return t;
   }
 
-
-  GtkWidget* new_hotkey_entry (const char* value, const char* name)
+  GtkWidget* new_hotkey_entry (const char* value, const char* name, gpointer ptr)
   {
+
     GtkWidget * t = gtk_entry_new();
     gtk_entry_set_text (GTK_ENTRY(t), value);
     g_signal_connect (t, "changed", G_CALLBACK(hotkey_entry_changed_cb), gpointer(name));
-//    g_signal_connect (t, "icon-press", G_CALLBACK(hotkey_entry_icon_press_cb), gpointer(name));
+    g_signal_connect (t, "populate-popup", G_CALLBACK(populate_popup_cb), ptr);
+
     return t;
   }
 
@@ -298,7 +355,7 @@ namespace
 
   GtkWidget* new_label_with_icon(const char* mnemonic, const char* label, const guint8* line, Prefs& prefs)
   {
-    const bool show_text =!prefs.get_flag("show-only-icons-in-preftabs", "false");
+    const bool show_text = !prefs.get_flag("show-only-icons-in-preftabs", "false");
 
     GtkWidget* hbox = gtk_hbox_new(false, 2);
     GdkPixbuf * pixbuf = gdk_pixbuf_new_from_inline (-1, line, false, 0);
@@ -311,7 +368,7 @@ namespace
     return hbox;
   }
 
-  void fill_pref_hotkeys(GtkWidget* t, int& row, Prefs& prefs)
+  void fill_pref_hotkeys(GtkWidget* t, int& row, Prefs& prefs, gpointer dialog_ptr)
   {
 
     HIG::workarea_add_section_spacer (t, row, hotkey_data.keys.size());
@@ -322,8 +379,20 @@ namespace
     foreach (keymap_t, hotkey_data.keys, it)
     {
       keyval = gtk_accelerator_name (it->second.accel_key, it->second.accel_mods);
-      w = new_hotkey_entry(keyval, it->first.c_str());
-      l = gtk_label_new(it->first.c_str());
+
+      std::string stripped = it->first;
+      size_t f = stripped.find_last_of("/");
+      stripped = f != std::string::npos ? stripped.substr(f+1,stripped.size()) : stripped;
+
+      CallBackData* data = new CallBackData();
+      data->dialog = (PrefsDialog*)dialog_ptr;
+      if (!it->first.empty()) data->name = it->first;
+      data->value = stripped;
+
+      w = new_hotkey_entry(keyval, it->first.c_str(), data);
+
+      std::string label = action_trans[stripped];
+      l = gtk_label_new(label.c_str());
       HIG :: workarea_add_row (t, &row, w, l);
     }
   }
@@ -531,7 +600,6 @@ namespace
   }
 }
 
-
 void
 PrefsDialog :: update_default_charset_label(const StringView& value)
 {
@@ -741,11 +809,16 @@ PrefsDialog :: PrefsDialog (Prefs& prefs, GtkWindow* parent):
 
   GtkWidget * notebook = gtk_notebook_new ();
 
-#if !GTK_CHECK_VERSION(2,24,0)
-  gtk_notebook_set_homogeneous_tabs (GTK_NOTEBOOK(notebook), true);
-#else
-  g_object_set (notebook, "homogeneous", true, NULL);
-#endif
+// remove this for now, it's not needed
+//
+//if (prefs.get_flag("show-only-icons-in-preftabs", false))
+//{
+//#if !GTK_CHECK_VERSION(2,24,0)
+//  gtk_notebook_set_homogeneous_tabs (GTK_NOTEBOOK(notebook), true);
+//#else
+//  g_object_set (notebook, "homogeneous", true, NULL);
+//#endif
+//}
   gtk_notebook_set_scrollable (GTK_NOTEBOOK(notebook), true);
 
   // Behavior
@@ -898,7 +971,7 @@ PrefsDialog :: PrefsDialog (Prefs& prefs, GtkWindow* parent):
   HIG :: workarea_finish (t, &row);
   gtk_notebook_append_page (GTK_NOTEBOOK(notebook), t, new_label_with_icon(_("_Headers"), _("Headers"), icon_prefs_headers, prefs));
 
-  // customizable actionss
+  // customizable actions
   row = 0;
   t = HIG :: workarea_create ();
 
@@ -1029,7 +1102,7 @@ PrefsDialog :: PrefsDialog (Prefs& prefs, GtkWindow* parent):
   // Hotkeys
   row = 0;
   t = HIG :: workarea_create ();
-  fill_pref_hotkeys(t, row, _prefs);
+  fill_pref_hotkeys(t, row, _prefs, this);
 
   HIG :: workarea_finish (t, &row);
 
diff --git a/pan/gui/prefs-ui.h b/pan/gui/prefs-ui.h
index ea7bc83..8183cc9 100644
--- a/pan/gui/prefs-ui.h
+++ b/pan/gui/prefs-ui.h
@@ -25,15 +25,33 @@
 
 namespace pan
 {
+
   class PrefsDialog :
     public Prefs::Listener
   {
+
+    public:
+
+      struct CallBackData
+      {
+        PrefsDialog* dialog;
+        std::string name;
+        std::string value;
+        GtkWidget* win;
+      };
+
     public:
       PrefsDialog (Prefs&, GtkWindow*) ;
       ~PrefsDialog () { }
       Prefs& prefs () { return _prefs; }
       GtkWidget* root() { return _root; }
 
+      static void populate_popup_cb (GtkEntry*, GtkMenu*, gpointer);
+      static void edit_shortkey_cb (GtkMenuItem*, gpointer);
+
+      void set_current_hotkey(const char* s) { _hotkey = s; }
+      const char* get_current_hotkey() const { return _hotkey; }
+
     private:
       Prefs& _prefs;
       GtkWidget* _root;
@@ -45,6 +63,13 @@ namespace pan
       void on_prefs_string_changed (const StringView& key, const StringView& value) ;
       void on_prefs_color_changed (const StringView& key, const GdkColor& color) {}
 
+      const char* _hotkey;
+
+    public:
+      void populate_popup (GtkEntry*, GtkMenu*);
+      void edit_shortkey (CallBackData* data);
+
+
   };
 }
 
diff --git a/pan/gui/prefs.cc b/pan/gui/prefs.cc
index 1b89bc9..653e7c0 100644
--- a/pan/gui/prefs.cc
+++ b/pan/gui/prefs.cc
@@ -31,7 +31,6 @@ extern "C" {
 #include <pan/general/log.h>
 #include <pan/general/macros.h>
 #include "prefs.h"
-#include "hotkeys.h"
 
 using namespace pan;
 
@@ -381,19 +380,3 @@ Prefs :: get_color_str_wo_fallback (const StringView& key) const
   const GdkColor& col(_colors[key]);
   return color_to_string (col);
 }
-
-//void
-//Prefs :: set_hotkey (const StringView& key, const StringView& value)
-//{
-////  _hotkeys[key] = value;
-////  fire_hotkey_changed (key, value);
-//}
-
-
-//std::string
-//Prefs :: get_hotkey (const StringView& key) const
-//{
-//  std::string res;
-//  if (!_hotkeys.count(key)) return "";
-//  return _hotkeys[key];
-//}
diff --git a/pan/gui/prefs.h b/pan/gui/prefs.h
index 1f2a2a7..c4c1ed3 100644
--- a/pan/gui/prefs.h
+++ b/pan/gui/prefs.h
@@ -119,7 +119,6 @@ namespace pan
     public:
       void to_string (int indent, std::string& setme) const;
       void from_string (const StringView& xml);
-      void get_hotkeys ();
 
     private:
       struct Geometry {
@@ -140,8 +139,6 @@ namespace pan
       mutable colors_t _colors;
       typedef std::map<std::string,int> ints_t;
       mutable ints_t _ints;
-      typedef std::map<std::string,std::string> hotkeys_t;
-      mutable hotkeys_t _hotkeys;
 
 
     public:
diff --git a/pan/icons/icon_article_unread.png.BACKUP.16201.png b/pan/icons/icon_article_unread.png.BACKUP.16201.png
new file mode 100644
index 0000000..752d08c
Binary files /dev/null and b/pan/icons/icon_article_unread.png.BACKUP.16201.png differ
diff --git a/pan/icons/icon_article_unread.png.LOCAL.16201.png b/pan/icons/icon_article_unread.png.LOCAL.16201.png
new file mode 100644
index 0000000..752d08c
Binary files /dev/null and b/pan/icons/icon_article_unread.png.LOCAL.16201.png differ
diff --git a/pan/icons/icon_article_unread.png.REMOTE.16201.png b/pan/icons/icon_article_unread.png.REMOTE.16201.png
new file mode 100644
index 0000000..211ff9b
Binary files /dev/null and b/pan/icons/icon_article_unread.png.REMOTE.16201.png differ
diff --git a/pan/icons/icon_prefs_actions.png b/pan/icons/icon_prefs_actions.png
new file mode 100644
index 0000000..6dd49bb
Binary files /dev/null and b/pan/icons/icon_prefs_actions.png differ
diff --git a/pan/icons/icon_prefs_applications.png b/pan/icons/icon_prefs_applications.png
new file mode 100644
index 0000000..fac36a1
Binary files /dev/null and b/pan/icons/icon_prefs_applications.png differ
diff --git a/pan/icons/icon_prefs_behavior.png b/pan/icons/icon_prefs_behavior.png
new file mode 100644
index 0000000..81857cd
Binary files /dev/null and b/pan/icons/icon_prefs_behavior.png differ
diff --git a/pan/icons/icon_prefs_colors.png b/pan/icons/icon_prefs_colors.png
new file mode 100644
index 0000000..287a344
Binary files /dev/null and b/pan/icons/icon_prefs_colors.png differ
diff --git a/pan/icons/icon_prefs_extras.png b/pan/icons/icon_prefs_extras.png
new file mode 100644
index 0000000..43916a0
Binary files /dev/null and b/pan/icons/icon_prefs_extras.png differ
diff --git a/pan/icons/icon_prefs_fonts.png b/pan/icons/icon_prefs_fonts.png
new file mode 100644
index 0000000..7047aea
Binary files /dev/null and b/pan/icons/icon_prefs_fonts.png differ
diff --git a/pan/icons/icon_prefs_headers.png b/pan/icons/icon_prefs_headers.png
new file mode 100644
index 0000000..22e5b23
Binary files /dev/null and b/pan/icons/icon_prefs_headers.png differ
diff --git a/pan/icons/icon_prefs_hotkeys.png b/pan/icons/icon_prefs_hotkeys.png
new file mode 100644
index 0000000..7714d47
Binary files /dev/null and b/pan/icons/icon_prefs_hotkeys.png differ
diff --git a/pan/icons/icon_prefs_layout.png b/pan/icons/icon_prefs_layout.png
new file mode 100644
index 0000000..c723e09
Binary files /dev/null and b/pan/icons/icon_prefs_layout.png differ
diff --git a/pan/icons/icon_prefs_upload.png b/pan/icons/icon_prefs_upload.png
new file mode 100644
index 0000000..c3d0c6e
Binary files /dev/null and b/pan/icons/icon_prefs_upload.png differ



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