Date: | 2015-04-22 19:02:04 (8 years 7 months ago) |
---|---|
Author: | Maarten ter Huurne |
Commit: | fad68bfb6ee5d5407e531cd4f23622e8c71f44d1 |
Message: | Create sections for built-in action links if necessary Previously, the built-in actions would only be added if their respective sections already existed. This also works around the fact that Menu::paint() crashes if there are no sections present. |
Files: |
src/gmenu2x.cpp (1 diff) |
Change Details
src/gmenu2x.cpp | ||
---|---|---|
377 | 377 | void GMenu2X::initMenu() { |
378 | 378 | //Menu structure handler |
379 | 379 | menu.reset(new Menu(*this, ts)); |
380 | for (uint i=0; i<menu->getSections().size(); i++) { | |
381 | //Add virtual links in the applications section | |
382 | if (menu->getSections()[i]=="applications") { | |
383 | menu->addActionLink(i, "Explorer", | |
384 | bind(&GMenu2X::explorer, this), | |
385 | tr["Launch an application"], | |
386 | "skin:icons/explorer.png"); | |
387 | } | |
388 | 380 | |
389 | //Add virtual links in the setting section | |
390 | else if (menu->getSections()[i]=="settings") { | |
391 | menu->addActionLink(i, "GMenu2X", | |
392 | bind(&GMenu2X::showSettings, this), | |
393 | tr["Configure GMenu2X's options"], | |
394 | "skin:icons/configure.png"); | |
395 | menu->addActionLink(i, tr["Skin"], | |
396 | bind(&GMenu2X::skinMenu, this), | |
397 | tr["Configure skin"], | |
398 | "skin:icons/skin.png"); | |
399 | menu->addActionLink(i, tr["Wallpaper"], | |
400 | bind(&GMenu2X::changeWallpaper, this), | |
401 | tr["Change GMenu2X wallpaper"], | |
402 | "skin:icons/wallpaper.png"); | |
403 | if (fileExists(LOG_FILE)) { | |
404 | menu->addActionLink(i, tr["Log Viewer"], | |
405 | bind(&GMenu2X::viewLog, this), | |
406 | tr["Displays last launched program's output"], | |
407 | "skin:icons/ebook.png"); | |
408 | } | |
409 | menu->addActionLink(i, tr["About"], | |
410 | bind(&GMenu2X::about, this), | |
411 | tr["Info about GMenu2X"], | |
412 | "skin:icons/about.png"); | |
413 | } | |
381 | // Add action links in the applications section. | |
382 | auto appIdx = menu->sectionNamed("applications"); | |
383 | menu->addActionLink(appIdx, "Explorer", | |
384 | bind(&GMenu2X::explorer, this), | |
385 | tr["Launch an application"], | |
386 | "skin:icons/explorer.png"); | |
387 | ||
388 | // Add action links in the settings section. | |
389 | auto settingIdx = menu->sectionNamed("settings"); | |
390 | menu->addActionLink(settingIdx, "GMenu2X", | |
391 | bind(&GMenu2X::showSettings, this), | |
392 | tr["Configure GMenu2X's options"], | |
393 | "skin:icons/configure.png"); | |
394 | menu->addActionLink(settingIdx, tr["Skin"], | |
395 | bind(&GMenu2X::skinMenu, this), | |
396 | tr["Configure skin"], | |
397 | "skin:icons/skin.png"); | |
398 | menu->addActionLink(settingIdx, tr["Wallpaper"], | |
399 | bind(&GMenu2X::changeWallpaper, this), | |
400 | tr["Change GMenu2X wallpaper"], | |
401 | "skin:icons/wallpaper.png"); | |
402 | if (fileExists(LOG_FILE)) { | |
403 | menu->addActionLink(settingIdx, tr["Log Viewer"], | |
404 | bind(&GMenu2X::viewLog, this), | |
405 | tr["Displays last launched program's output"], | |
406 | "skin:icons/ebook.png"); | |
414 | 407 | } |
408 | menu->addActionLink(settingIdx, tr["About"], | |
409 | bind(&GMenu2X::about, this), | |
410 | tr["Info about GMenu2X"], | |
411 | "skin:icons/about.png"); | |
415 | 412 | |
416 | 413 | menu->skinUpdated(); |
417 | 414 | menu->orderLinks(); |
Branches:
install_locations
master
opkrun
packages