4
#include <kapplication.h>
6
#include <kstatusbar.h>
7
#include <kmainwindow.h>
9
#include <kdeversion.h>
10
#include <kstandarddirs.h>
12
#include <kactioncollection.h>
15
#include "partcontroller.h"
17
#include "projectmanager.h"
22
Core *Core::s_instance = 0;
25
Core *Core::getInstance()
28
s_instance = new Core;
32
void Core::setupShourtcutTips(KXMLGUIClient * client)
34
QPtrList<KXMLGUIClient> clients;
36
clients.append(client);
38
clients = TopLevel::getInstance()->main()->guiFactory()->clients();
40
for( QPtrListIterator<KXMLGUIClient> it(clients); it.current(); ++it ) {
41
KActionCollection *actionCollection = (*it)->actionCollection();
42
for (int i = 0; i < actionCollection->count(); i++) {
43
KAction *action = actionCollection->action(i);
45
QString tooltip = action->toolTip();
46
if (tooltip.isEmpty())
47
tooltip = action->text().remove('&');
49
int i = tooltip.findRev('(');
50
if (i > 0) tooltip = tooltip.left(i).stripWhiteSpace();
53
QString shortcut = action->shortcutText();
54
if (!shortcut.isEmpty())
55
tooltip += " (" + shortcut + ")";
56
action->setToolTip(tooltip);
71
bool Core::queryClose()
73
// save the the project to open it automaticly on startup if needed
74
KConfig* config = kapp->config();
75
config->setGroup("General Options");
76
config->writePathEntry("Last Project",ProjectManager::getInstance()->projectFile().url());
78
if ( !PartController::getInstance()->querySaveFiles() )
81
if ( !ProjectManager::getInstance()->closeProject( true ) )
84
if ( !PartController::getInstance()->readyToClose() )
91
void Core::running(KDevPlugin * which, bool runs)
93
emit activeProcessChanged( which, runs );
97
void Core::fillContextMenu(QPopupMenu *popup, const Context *context)
99
emit contextMenu(popup, context);
103
void Core::openProject(const QString& projectFileName)
105
ProjectManager::getInstance()->loadProject(KURL( projectFileName ));
108
namespace MainWindowUtils{
109
QString beautifyToolTip(const QString& text)
112
temp.replace(QRegExp("&"), "");
113
temp.replace(QRegExp("\\.\\.\\."), "");