mirror of
git://projects.qi-hardware.com/gmenu2x.git
synced 2024-11-26 03:06:15 +02:00
Remove unnecessary file existence check in GMenu2X::setSkin(2)
The existence of modifications to the skin configuration in the home directory is now checked with ifstream::is_open, and the system's skin configuration is used if that returns false.
This commit is contained in:
parent
ebb34f3e00
commit
d6b2643610
@ -783,12 +783,35 @@ void GMenu2X::setSkin(const string &skin, bool setWallpaper) {
|
|||||||
|
|
||||||
/* Load skin settings from user directory if present,
|
/* Load skin settings from user directory if present,
|
||||||
* or from the system directory. */
|
* or from the system directory. */
|
||||||
string skinconfname = getHome() + "/skins/" + skin + "/skin.conf";
|
if (!readSkinConfig(getHome() + "/skins/" + skin + "/skin.conf")) {
|
||||||
if (!fileExists(skinconfname))
|
readSkinConfig(GMENU2X_SYSTEM_DIR "/skins/" + skin + "/skin.conf");
|
||||||
skinconfname = GMENU2X_SYSTEM_DIR "/skins/" + skin + "/skin.conf";
|
}
|
||||||
|
|
||||||
if (fileExists(skinconfname)) {
|
if (setWallpaper && !skinConfStr["wallpaper"].empty()) {
|
||||||
ifstream skinconf(skinconfname.c_str(), ios_base::in);
|
string fp = sc.getSkinFilePath("wallpapers/" + skinConfStr["wallpaper"]);
|
||||||
|
if (!fp.empty())
|
||||||
|
confStr["wallpaper"] = fp;
|
||||||
|
else
|
||||||
|
WARNING("Unable to find wallpaper defined on skin %s\n", skin.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
evalIntConf(skinConfInt, "topBarHeight", 50, 32, 120);
|
||||||
|
evalIntConf(skinConfInt, "bottomBarHeight", 20, 20, 120);
|
||||||
|
evalIntConf(skinConfInt, "linkHeight", 50, 32, 120);
|
||||||
|
evalIntConf(skinConfInt, "linkWidth", 80, 32, 120);
|
||||||
|
|
||||||
|
if (menu != NULL) menu->skinUpdated();
|
||||||
|
|
||||||
|
//Selection png
|
||||||
|
useSelectionPng = sc.addSkinRes("imgs/selection.png", false) != NULL;
|
||||||
|
|
||||||
|
//font
|
||||||
|
initFont();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GMenu2X::readSkinConfig(const string& conffile)
|
||||||
|
{
|
||||||
|
ifstream skinconf(conffile.c_str(), ios_base::in);
|
||||||
if (skinconf.is_open()) {
|
if (skinconf.is_open()) {
|
||||||
string line;
|
string line;
|
||||||
while (getline(skinconf, line, '\n')) {
|
while (getline(skinconf, line, '\n')) {
|
||||||
@ -809,29 +832,10 @@ void GMenu2X::setSkin(const string &skin, bool setWallpaper) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
skinconf.close();
|
skinconf.close();
|
||||||
|
return true;
|
||||||
if (setWallpaper && !skinConfStr["wallpaper"].empty()) {
|
} else {
|
||||||
string fp = sc.getSkinFilePath("wallpapers/" + skinConfStr["wallpaper"]);
|
return false;
|
||||||
if (!fp.empty())
|
|
||||||
confStr["wallpaper"] = fp;
|
|
||||||
else
|
|
||||||
WARNING("Unable to find wallpaper defined on skin %s\n", skin.c_str());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
evalIntConf(skinConfInt, "topBarHeight", 50, 32, 120);
|
|
||||||
evalIntConf(skinConfInt, "bottomBarHeight", 20, 20, 120);
|
|
||||||
evalIntConf(skinConfInt, "linkHeight", 50, 32, 120);
|
|
||||||
evalIntConf(skinConfInt, "linkWidth", 80, 32, 120);
|
|
||||||
|
|
||||||
if (menu != NULL) menu->skinUpdated();
|
|
||||||
|
|
||||||
//Selection png
|
|
||||||
useSelectionPng = sc.addSkinRes("imgs/selection.png", false) != NULL;
|
|
||||||
|
|
||||||
//font
|
|
||||||
initFont();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMenu2X::showManual() {
|
void GMenu2X::showManual() {
|
||||||
|
@ -154,6 +154,7 @@ public:
|
|||||||
//Configuration settings
|
//Configuration settings
|
||||||
bool useSelectionPng;
|
bool useSelectionPng;
|
||||||
void setSkin(const std::string &skin, bool setWallpaper = true);
|
void setSkin(const std::string &skin, bool setWallpaper = true);
|
||||||
|
bool readSkinConfig(const std::string& conffile);
|
||||||
|
|
||||||
SurfaceCollection sc;
|
SurfaceCollection sc;
|
||||||
Translator tr;
|
Translator tr;
|
||||||
|
Loading…
Reference in New Issue
Block a user