#include <vector>
#include <map>
#include <string>
+#include <algorithm>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gtk/gtkicontheme.h>
GdkPixbuf *getIcon(int icon_size) const;
const std::string& getFileName() const { return myFileName; }
- const std::string& getName() const { return myName; }
- const std::string& getComment() const { return myComment; }
+ std::string getName(bool translate = true) const { return translate ? translateString(myName) : myName; }
+ std::string getComment(bool translate = true) const { return translate ? translateString(myComment) : myComment; }
const std::string& getService() const { return myService; }
bool isEnabled(void) const { return myEnabled; }
}
private:
+ std::string translateString(const std::string& what) const;
+
bool checkSanity(void) { return !(myName.empty() || myIcon.empty() || myService.empty()); }
private:
- std::string myFileName, myName, myComment, myIcon, myService;
+ std::string myFileName, myName, myComment, myIcon, myService, myTextDomain;
bool myEnabled;
static GtkIconTheme *ourTheme;
};
-typedef struct {
+typedef struct LauncherItems {
typedef std::vector<std::string> Names;
typedef std::map<std::string, LauncherItem *> Items;
Items myItems;
bool exists(const std::string& name) {
- return myNames.find(name) != myNames.end();
+ return std::find(myNames.begin(), myNames.end(), name) != myNames.end();
}
size_t size() { return myNames.size(); }
myNames.resize(0);
myItems.clear();
}
-} LauncherItems;
+
+ LauncherItems& operator=(const LauncherItems& that) {
+ myNames = that.myNames;
+ myItems = that.myItems;
+
+ return *this;
+ }
+};
#endif