summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/startmenu.cpp48
1 files changed, 24 insertions, 24 deletions
diff --git a/core/launcher/startmenu.cpp b/core/launcher/startmenu.cpp
index 39e07c8..2871233 100644
--- a/core/launcher/startmenu.cpp
+++ b/core/launcher/startmenu.cpp
@@ -14,17 +14,17 @@
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#define INCLUDE_MENUITEM_DEF
-
+
#include "startmenu.h"
#include "sidething.h"
//#include "mrulist.h"
#include "info.h"
#include <qpe/qpeapplication.h>
#include <qpe/config.h>
#include <qpe/applnk.h>
@@ -51,17 +51,17 @@ StartMenu::StartMenu(QWidget *parent) : QLabel( parent )
setPixmap(pm);
setFocusPolicy( NoFocus );
//setFlat( startButtonIsFlat );
apps = 0;
launchMenu = 0;
applets. setAutoDelete ( true );
sepId = 0;
-
+
reloadApps ( );
reloadApplets ( );
}
void StartMenu::mousePressEvent( QMouseEvent * )
{
launch();
@@ -83,38 +83,38 @@ void StartMenu::loadOptions()
Config config("StartMenu");
config.setGroup( "StartMenu" );
QString tmpBoolString1 = config.readEntry( "UseWidePopupMenu", "FALSE" );
useWidePopupMenu = ( tmpBoolString1 == "TRUE" ) ? TRUE : FALSE;
QString tmpBoolString2 = config.readEntry( "StartButtonIsFlat", "TRUE" );
startButtonIsFlat = ( tmpBoolString2 == "TRUE" ) ? TRUE : FALSE;
QString tmpBoolString3 = config.readEntry( "UseMRUList", "TRUE" );
popupMenuSidePixmap = config.readEntry( "PopupMenuSidePixmap", "launcher/sidebar" );
- startButtonPixmap = config.readEntry( "StartButtonPixmap", "launcher/start_button" );
+ startButtonPixmap = config.readEntry( "StartButtonPixmap", "go" );
#else
// Basically just #include the .qpe_menu.conf file settings
useWidePopupMenu = FALSE;
popupMenuSidePixmap = "launcher/sidebar";
startButtonIsFlat = TRUE;
- startButtonPixmap = "launcher/start_button"; // No tr
+ startButtonPixmap = "go"; // No tr
#endif
}
void StartMenu::createMenu()
{
delete launchMenu;
if ( useWidePopupMenu )
launchMenu = new PopupWithLaunchSideThing( this, &popupMenuSidePixmap );
else
launchMenu = new StartPopupMenu( this );
loadMenu ( apps, launchMenu );
loadApplets ( );
-
+
connect( launchMenu, SIGNAL(activated(int)), SLOT(itemSelected(int)) );
}
void StartMenu::reloadApps()
{
Config cfg("StartMenu");
cfg.setGroup("Menu");
bool ltabs = cfg.readBoolEntry("LauncherTabs",TRUE);
@@ -124,17 +124,17 @@ void StartMenu::reloadApps()
return; // nothing to do
if ( lt ) {
delete apps;
apps = new AppLnkSet( QPEApplication::qpeDir() + "apps" );
}
if ( launchMenu ) {
launchMenu-> hide ( );
-
+
for ( QIntDictIterator<QPopupMenu> it ( tabdict ); it. current ( ); ++it ) {
launchMenu-> removeItem ( it. currentKey ( ));
delete it.current ( );
}
tabdict. clear ( );
loadMenu(apps,launchMenu);
} else {
createMenu();
@@ -153,34 +153,34 @@ void StartMenu::reloadApplets()
void StartMenu::itemSelected( int id )
{
const AppLnk *app = apps->find( id );
if ( app )
app->execute();
else {
MenuApplet *applet = applets. find ( id );
-
+
if ( applet )
applet-> iface-> activated ( );
- }
+ }
}
bool StartMenu::loadMenu( AppLnkSet *folder, QPopupMenu *menu )
{
bool result = FALSE;
Config cfg("StartMenu");
cfg.setGroup("Menu");
bool ltabs = cfg.readBoolEntry("LauncherTabs",TRUE);
bool lot = cfg.readBoolEntry("LauncherOther",TRUE);
-
+
tabdict. clear ( );
-
+
if ( sepId )
menu-> removeItem ( sepId );
sepId = ( menu-> count ( )) ? menu-> insertSeparator ( 0 ) : 0;
if ( ltabs || lot ) {
QDict<QPopupMenu> typpop;
QStringList typs = folder->types();
for (QStringList::Iterator tit=typs.fromLast(); ; --tit) {
@@ -225,39 +225,39 @@ bool StartMenu::loadMenu( AppLnkSet *folder, QPopupMenu *menu )
t.replace(QRegExp("&"),"&&"); // escape shortcut character
pmenu->insertItem( app->pixmap(), t, app->id() );
}
result=TRUE;
}
}
}
- if ( sepId && ( menu-> idAt ( 0 ) == sepId )) { // no tabs entries
+ if ( sepId && ( menu-> idAt ( 0 ) == sepId )) { // no tabs entries
menu-> removeItem ( sepId );
sepId = 0;
}
if ( !menu-> count ( )) // if we don't do this QPopupMenu will insert a dummy Separator, which won't go away later
sepId = menu-> insertSeparator ( );
-
+
return result;
}
void StartMenu::launch ( )
{
int y = mapToGlobal ( QPoint ( )). y ( ) - launchMenu-> sizeHint ( ). height ( );
if ( launchMenu-> isVisible ( )) {
launchMenu-> hide ( );
}
else {
QWidget *active = qApp-> activeWindow ( );
if ( active && active-> isPopup ( ))
active-> close ( );
-
+
launchMenu-> popup ( QPoint ( 1, y ));
}
}
const AppLnk* StartMenu::execToLink(const QString& appname)
{
const AppLnk* a = apps->findExec( appname );
return a;
@@ -288,34 +288,34 @@ void StartMenu::clearApplets()
launchMenu-> hide();
for ( QIntDictIterator<MenuApplet> it ( applets ); it. current ( ); ++it ) {
MenuApplet *applet = it. current ( );
if ( launchMenu ) {
launchMenu-> removeItem ( applet-> id );
delete applet-> popup;
}
-
+
applet-> iface-> release();
applet-> library-> unload();
delete applet-> library;
}
applets.clear();
}
void StartMenu::loadApplets()
{
Config cfg( "StartMenu" );
cfg.setGroup( "Applets" );
-
+
// SafeMode causes too much problems, so we disable it for now --
// maybe we should reenable it for OPIE 1.0 - sandman 26.09.02
-
+
bool safe = false; //cfg.readBoolEntry("SafeMode",FALSE);
if ( safe && !safety_tid )
return;
cfg.writeEntry("SafeMode",TRUE);
cfg.write();
QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' );
QString lang = getenv( "LANG" );
@@ -330,56 +330,56 @@ void StartMenu::loadApplets()
continue;
MenuAppletInterface *iface = 0;
QLibrary *lib = new QLibrary( path + "/" + *it );
if (( lib->queryInterface( IID_MenuApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) {
MenuApplet *applet = new MenuApplet;
xapplets[napplets++] = applet;
applet->library = lib;
applet->iface = iface;
-
+
QTranslator *trans = new QTranslator(qApp);
QString type = (*it).left( (*it).find(".") );
QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
if ( trans->load( tfn ))
qApp->installTranslator( trans );
else
- delete trans;
+ delete trans;
} else {
exclude += *it;
delete lib;
}
}
cfg.writeEntry( "ExcludeApplets", exclude, ',' );
qsort(xapplets,napplets,sizeof(applets[0]),compareAppletPositions);
if ( sepId )
launchMenu-> removeItem ( sepId );
sepId = ( launchMenu-> count ( )) ? launchMenu-> insertSeparator ( ) : 0;
-
+
while (napplets--) {
MenuApplet *applet = xapplets[napplets];
-
+
applet-> popup = applet-> iface-> popup ( this );
-
+
if ( applet-> popup )
applet-> id = launchMenu-> insertItem ( applet-> iface-> icon ( ), applet-> iface-> text ( ), applet-> popup );
- else
+ else
applet-> id = launchMenu-> insertItem ( applet-> iface-> icon ( ), applet-> iface-> text ( ) );
applets.insert ( applet-> id, new MenuApplet(*applet));
}
delete [] xapplets;
-
+
if ( sepId && ( launchMenu-> idAt ( launchMenu-> count ( ) - 1 ) == sepId )) { // no applets
launchMenu-> removeItem ( sepId );
sepId = 0;
}
if ( !launchMenu-> count ( )) // if we don't do this QPopupMenu will insert a dummy Separator, which won't go away later
sepId = launchMenu-> insertSeparator ( );
-
+
if ( !safety_tid )
safety_tid = startTimer(2000); // TT has 5000, but this is a PITA for a developer ;) (sandman)
}
void StartMenu::timerEvent(QTimerEvent* e)
{
if ( e->timerId() == safety_tid ) {
Config cfg( "StartMenu" );