X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=launchable-item.cc;h=53edc679964f48a8c8d96d75d3f62ecac837da6b;hb=da1232179564424dfa09852cb52471c600a49967;hp=71aab95abe9fabd26e0ebb89fdb582a8ed0ad63c;hpb=83a08deb46e9be3da3c83d130ff7698df0657f6f;p=simple-launcher diff --git a/launchable-item.cc b/launchable-item.cc index 71aab95..53edc67 100644 --- a/launchable-item.cc +++ b/launchable-item.cc @@ -1,6 +1,6 @@ // This file is a part of Simple Launcher // -// Copyright (C) 2006, Mikhail Sobolev +// Copyright (C) 2006, 2007, Mikhail Sobolev // // Simple Launcher is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License version 2 as published by @@ -16,18 +16,17 @@ // Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "launchable-item.h" +#include "utils.h" -LaunchableItem::LaunchableItem(LauncherItem *item, bool enabled): myItem(item), myEnabled(enabled) { -} +bool LaunchableItem::activate(osso_context_t *context) { + bool result = false; -LaunchableItem::~LaunchableItem() { - if (myItem != 0) { - delete myItem; + if (getService().empty() || !(result = osso_application_top(context, getService().c_str(), NULL) == OSSO_OK)) { + runApplication(getExec()); + return true; + } else { + return result; } } -bool LaunchableItem::activate(osso_context_t *context) { - return osso_application_top(context, myItem->getService().c_str(), 0) == OSSO_OK; -} - // vim:ts=2:sw=2:et