summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/startmenu.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/launcher/startmenu.cpp b/core/launcher/startmenu.cpp
index 28c8b97..d75e8be 100644
--- a/core/launcher/startmenu.cpp
+++ b/core/launcher/startmenu.cpp
@@ -1,142 +1,143 @@
/**********************************************************************
** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** 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>
#include <qpe/global.h>
#include <qpe/resource.h>
#include <qpe/qlibrary.h>
#include <qintdict.h>
#include <qdir.h>
#include <stdlib.h>
// #define USE_CONFIG_FILE
StartMenu::StartMenu(QWidget *parent) : QLabel( parent )
{
loadOptions();
+ safety_tid = 1; // disable the timer... valgrind said it.. we don't use that option either -zecke
int sz = AppLnk::smallIconSize()+3;
QPixmap pm;
pm.convertFromImage(Resource::loadImage(startButtonPixmap).smoothScale(sz,sz));
setPixmap(pm);
setFocusPolicy( NoFocus );
//setFlat( startButtonIsFlat );
apps = 0;
launchMenu = 0;
applets. setAutoDelete ( true );
sepId = 0;
reloadApps ( );
reloadApplets ( );
}
void StartMenu::mousePressEvent( QMouseEvent * )
{
launch();
if (desktopInfo)
desktopInfo->menuClicked();
}
StartMenu::~StartMenu()
{
delete apps;
}
void StartMenu::loadOptions()
{
#ifdef USE_CONFIG_FILE
// Read configuration file
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", "go" );
#else
// Basically just #include the .qpe_menu.conf file settings
useWidePopupMenu = FALSE;
popupMenuSidePixmap = "launcher/sidebar";
startButtonIsFlat = TRUE;
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);
bool lot = cfg.readBoolEntry("LauncherOther",TRUE);
bool lt = ltabs || lot;
if ( launchMenu && apps && !lt )
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();
}
}