From 2f7c7455ee37f7ccd919dbba6f2ef7f0564eb1f0 Mon Sep 17 00:00:00 2001 From: mishas Date: Wed, 14 Mar 2007 17:06:02 +0000 Subject: [PATCH] separated the code that checks/creates/adds a new item in the list git-svn-id: file:///svnroot/simple-launcher/trunk@80 3ba93dab-e023-0410-b42a-de7732cf370a --- simple-launcher.cc | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/simple-launcher.cc b/simple-launcher.cc index 52ace44..cd05b6d 100644 --- a/simple-launcher.cc +++ b/simple-launcher.cc @@ -49,6 +49,8 @@ public: GtkWidget *getWidget() { return myWidget; } private: + void addItem(const std::string&, bool); + void loadConfig(); void saveConfig(); @@ -151,6 +153,22 @@ SimpleLauncherApplet::~SimpleLauncherApplet() { } } +void SimpleLauncherApplet::addItem(const std::string& name, bool enabled) { + if (!myItems.exists(name)) { + LaunchableItem *item = new LaunchableItem(); + + item->load(name); + + if (enabled) { + item->enable(); + } else { + item->disable(); + } + + myItems.add(name, item); + } +} + static char *configFileName="/home/user/.slarc"; void SimpleLauncherApplet::loadConfig() { @@ -166,22 +184,12 @@ void SimpleLauncherApplet::loadConfig() { *p++ = '\0'; } - LaunchableItem *item = new LaunchableItem(); - - item->load(buffer); + addItem(buffer, (p != NULL && (*p == '1' || *p == 'y' || *p == 'Y'))); - if (p != NULL && (*p == '1' || *p == 'y' || *p == 'Y')) { - item->enable(); - } else { - item->disable(); - } - - myItems.add(buffer, item); } delete buffer; } - #if 0 for (int i = 0 ; ourFiles[i] != NULL ; ++i) { LaunchableItem *item = new LaunchableItem(); -- 1.7.9.5