Source Code (Use browser search to find items of interest.)
Class Index
kwrite'TopLevel (./kdeutils/kwrite/toplevel.h:46)
class TopLevel : public KTMainWindow {
//Q_ OBJECT
public:
TopLevel(KWriteDoc * = 0L, const QString &path = QString::null);
~TopLevel();
void init(); //initialize caption, status and show
virtual bool queryClose();
virtual bool queryExit();
void loadURL(const QString &url, int flags = 0);
protected:
void setupEditWidget(KWriteDoc *);
void setupMenuBar();
void setupToolBar();
void setupStatusBar();
virtual void dragEnterEvent( QDragEnterEvent * );
// virtual void dragMoveEvent( QDragMoveEvent * );
// virtual void dragLeaveEvent( QDragLeaveEvent * );
virtual void dropEvent( QDropEvent * );
KWrite *m_mainview;
int menuInsert, menuSave;
int menuUndo, menuRedo, menuUndoHist,
menuIndent, menuUnindent, menuCleanIndent,
menuSpell, menuCut, menuPaste, menuReplace;
int menuVertical, menuShowTB, menuShowSB, menuShowPath;
// int statusID, toolID, verticalID, indentID;
KGuiCmdPopup *file, *edit, *options;
QPopupMenu *recentPopup, *hlPopup, *eolPopup;
QStrList recentFiles;
bool hideToolBar;
bool hideStatusBar;
bool showPath;
QTimer *statusbarTimer;
public slots:
void openRecent(int);
void newWindow();
void newView();
void closeWindow();
void quitEditor();
void configure();
void keys();
void toggleToolBar();
void toggleStatusBar();
void togglePath();
public:
void print(bool dialog);
public slots:
void doPrint(KTextPrint &);
void printNow();
void printDlg();
void helpSelected();
void newCurPos();
void newStatus();
void statusMsg(const QString &);
void timeout();
void newCaption();
void newUndo();
void showHighlight();
void showEol();
void slotDropEvent(QDropEvent *);
//config file functions
public:
//common config
void readConfig(KConfig *);
void writeConfig(KConfig *);
//config file
void readConfig();
public slots:
void writeConfig();
//session management
public:
void restore(KConfig *,int);
protected:
virtual void readProperties(KConfig *);
virtual void saveProperties(KConfig *);
virtual void saveData(KConfig *);
};
kwrite'TopLevel::TopLevel() (./kdeutils/kwrite/toplevel.cpp:79)
TopLevel::TopLevel (KWriteDoc *doc, const QString &path)
: KTMainWindow("KWrite") {
setMinimumSize(180,120);
recentFiles.setAutoDelete(TRUE);
statusbarTimer = new QTimer(this);
connect(statusbarTimer,SIGNAL(timeout()),this,SLOT(timeout()));
// connect(kapp,SIGNAL(kdisplayPaletteChanged()),this,SLOT(set_colors()));
if (!doc) {
doc = new KWriteDoc(HlManager::self(), path); //new doc with default path
docList.append(doc);
}
setupEditWidget(doc);
setupMenuBar();
setupToolBar();
setupStatusBar();
// readConfig();
setAcceptDrops(true);
}
kwrite'TopLevel::~TopLevel() (./kdeutils/kwrite/toplevel.cpp:105)
TopLevel::~TopLevel() {
// delete file;
// delete edit;
// delete help;
// delete options;
// delete recentpopup;
// delete toolbar;
if (m_mainview->isLastView()) docList.remove(m_mainview->doc());
}
kwrite'TopLevel::init() (./kdeutils/kwrite/toplevel.cpp:116)
void TopLevel::init() {
hideToolBar = !hideToolBar;
toggleToolBar();
hideStatusBar = !hideStatusBar;
toggleStatusBar();
showPath = !showPath;
togglePath();
newCurPos();
newStatus();
// newCaption();
newUndo();
show();
}
kwrite'TopLevel::queryClose() (./kdeutils/kwrite/toplevel.cpp:132)
bool TopLevel::queryClose() {
if (!m_mainview->isLastView()) return true;
return m_mainview->canDiscard();
// writeConfig();
}
kwrite'TopLevel::queryExit() (./kdeutils/kwrite/toplevel.cpp:138)
bool TopLevel::queryExit() {
writeConfig();
kapp->config()->sync();
return true;
}
kwrite'TopLevel::loadURL() (./kdeutils/kwrite/toplevel.cpp:145)
void TopLevel::loadURL(const QString &url, int flags) {
m_mainview->loadURL(url,flags);
}
kwrite'TopLevel::setupEditWidget() (./kdeutils/kwrite/toplevel.cpp:150)
void TopLevel::setupEditWidget(KWriteDoc *doc) {
m_mainview = new KWrite(doc,this,QString::null,false);
connect(m_mainview,SIGNAL(newCurPos()),this,SLOT(newCurPos()));
connect(m_mainview,SIGNAL(newStatus()),this,SLOT(newStatus()));
connect(m_mainview,SIGNAL(statusMsg(const QString &)),this,SLOT(statusMsg(const QString &)));
connect(m_mainview,SIGNAL(fileChanged()),this,SLOT(newCaption()));
connect(m_mainview,SIGNAL(newUndo()),this,SLOT(newUndo()));
connect(m_mainview->view(),SIGNAL(dropEventPass(QDropEvent *)),this,SLOT(slotDropEvent(QDropEvent *)));
setView(m_mainview,FALSE);
}
kwrite'TopLevel::setupMenuBar() (./kdeutils/kwrite/toplevel.cpp:164)
void TopLevel::setupMenuBar() {
KMenuBar *menubar;
KGuiCmdPopup *find, *bookmarks;
QPopupMenu *help, *popup;
QPixmap pixmap;
int z;
KGuiCmdDispatcher *dispatcher;
dispatcher = new KGuiCmdDispatcher(this, &cmdMngr);
dispatcher->connectCategory(ctCursorCommands, m_mainview, SLOT(doCursorCommand(int)));
dispatcher->connectCategory(ctEditCommands, m_mainview, SLOT(doEditCommand(int)));
dispatcher->connectCategory(ctBookmarkCommands, m_mainview, SLOT(doBookmarkCommand(int)));
dispatcher->connectCategory(ctStateCommands, m_mainview, SLOT(doStateCommand(int)));
file = new KGuiCmdPopup(dispatcher);
edit = new KGuiCmdPopup(dispatcher);
find = new KGuiCmdPopup(dispatcher);
bookmarks = new KGuiCmdPopup(dispatcher);
options = new KGuiCmdPopup(dispatcher);
help = new QPopupMenu();
recentPopup = new QPopupMenu();
// int addCommand(int catNum, int cmdNum, QPixmap &pixmap,
// const QObject *receiver, const char *member, int id = -1, int index = -1);
pixmap = BarIcon("filenew");
file->addCommand(ctFileCommands, cmNew, pixmap, m_mainview, SLOT(newDoc()));
pixmap = BarIcon("fileopen");
file->addCommand(ctFileCommands, cmOpen, pixmap, m_mainview, SLOT(open()));
menuInsert = file->addCommand(ctFileCommands, cmInsert, m_mainview, SLOT(insertFile()));
file->insertItem(i18n("Open &Recent"), recentPopup);
connect(recentPopup, SIGNAL(activated(int)), SLOT(openRecent(int)));
file->insertSeparator ();
pixmap = BarIcon("filefloppy");
menuSave = file->addCommand(ctFileCommands, cmSave, pixmap, m_mainview, SLOT(save()));
file->addCommand(ctFileCommands, cmSaveAs, m_mainview, SLOT(saveAs()));
file->insertSeparator ();
pixmap = BarIcon("fileprint");
file->addCommand(ctFileCommands, cmPrint, pixmap, this, SLOT(printDlg()));
file->insertSeparator ();
file->addCommand(ctFileCommands, cmNewWindow, this, SLOT(newWindow()));
file->addCommand(ctFileCommands, cmNewView, this, SLOT(newView()));
file->insertSeparator ();
pixmap = BarIcon("exit");
file->addCommand(ctFileCommands, cmClose, pixmap, this, SLOT(closeWindow()));
/*
file->insertItem(i18n("&New..."),m_mainview,SLOT(newDoc()),keys.openNew());
file->insertItem(i18n("&Open..."),m_mainview,SLOT(open()),keys.open());
menuInsert = file->insertItem(i18n("&Insert..."),m_mainview,SLOT(insertFile()));
file->insertItem(i18n("Open Recen&t"), recentPopup);
connect(recentPopup,SIGNAL(activated(int)),SLOT(openRecent(int)));
file->insertSeparator ();
menuSave = file->insertItem(i18n("&Save"),m_mainview,SLOT(save()),keys.save());
file->insertItem(i18n("S&ave as..."),m_mainview,SLOT(saveAs()));
file->insertSeparator ();
file->insertItem(i18n("&Print..."), m_mainview,SLOT(print()),keys.print());
file->insertSeparator ();
// file->insertItem (i18n("&Mail..."),this,SLOT(mail()));
// file->insertSeparator ();
file->insertItem (i18n("New &Window"),this,SLOT(newWindow()));
file->insertItem (i18n("New &View"),this,SLOT(newView()));
file->insertSeparator ();
file->insertItem(i18n("&Close"),this,SLOT(closeWindow()),keys.close());
// file->insertItem (i18n("E&xit"),this,SLOT(quitEditor()),keys.quit());
*/
pixmap = BarIcon("undo");
menuUndo = edit->addCommand(ctEditCommands, cmUndo, pixmap);
pixmap = BarIcon("redo");
menuRedo = edit->addCommand(ctEditCommands, cmRedo, pixmap);
menuUndoHist = edit->insertItem(i18n("Undo/Redo &History..."),m_mainview,SLOT(undoHistory()));
edit->insertSeparator();
pixmap = BarIcon("editcut");
menuCut = edit->addCommand(ctEditCommands, cmCut, pixmap);
pixmap = BarIcon("editcopy");
edit->addCommand(ctEditCommands, cmCopy, pixmap);
pixmap = BarIcon("editpaste");
menuPaste = edit->addCommand(ctEditCommands, cmPaste, pixmap);
// edit->insertSeparator();
// pixmap = BarIcon("search");
// edit->addCommand(ctFindCommands, cmFind, pixmap, m_mainview, SLOT(search()));
// edit->addCommand(ctFindCommands, cmReplace, m_mainview, SLOT(replace()));
// edit->addCommand(ctFindCommands, cmFindAgain, m_mainview, SLOT(searchAgain()));
// edit->addCommand(ctFindCommands, cmGotoLine, m_mainview, SLOT(gotoLine()));
edit->insertSeparator();
edit->addCommand(ctEditCommands, cmIndent);
edit->addCommand(ctEditCommands, cmUnindent);
edit->addCommand(ctEditCommands, cmCleanIndent);
edit->insertSeparator();
edit->addCommand(ctEditCommands, cmSelectAll);
edit->addCommand(ctEditCommands, cmDeselectAll);
edit->addCommand(ctEditCommands, cmInvertSelection);
edit->insertSeparator();
pixmap = BarIcon("spellcheck");
menuSpell = edit->insertItem(pixmap, i18n("Check Spe&lling..."), m_mainview,SLOT(spellcheck()));
// find dialog
pixmap = BarIcon("search");
find->addCommand(ctFindCommands, cmFind, pixmap, m_mainview, SLOT(find()));
find->addCommand(ctFindCommands, cmReplace, m_mainview, SLOT(replace()));
find->addCommand(ctFindCommands, cmFindAgain, m_mainview, SLOT(findAgain()));
find->addCommand(ctFindCommands, cmGotoLine, m_mainview, SLOT(gotoLine()));
/*
menuCut = edit->insertItem(i18n("C&ut"),m_mainview,SLOT(cut()),keys.cut());
edit->insertItem(i18n("&Copy"),m_mainview,SLOT(copy()),keys.copy());
menuPaste = edit->insertItem(i18n("&Paste"),m_mainview,SLOT(paste()),keys.paste());
edit->insertSeparator();
edit->insertItem(i18n("C&ut"),m_mainview,SLOT(cut()), keys.cut());
edit->insertItem(i18n("&Copy"),m_mainview,SLOT(copy()), keys.copy());
edit->insertItem(i18n("&Paste"),m_mainview,SLOT(paste()), keys.paste());
edit->insertSeparator();
edit->insertItem(i18n("&Find..."),m_mainview,SLOT(search()),keys.find());
menuReplace = edit->insertItem(i18n("&Replace..."),m_mainview,SLOT(replace()),keys.replace());
edit->insertItem(i18n("Find &Again"),m_mainview,SLOT(searchAgain()),Key_F3);
edit->insertItem(i18n("&Goto Line..."),m_mainview,SLOT(gotoLine()),CTRL+Key_G);
edit->insertSeparator();
menuUndo = edit->insertItem(i18n("U&ndo"),m_mainview,SLOT(undo()),keys.undo());
menuRedo = edit->insertItem(i18n("R&edo"),m_mainview,SLOT(redo()),CTRL+Key_Y);
menuUndoHist = edit->insertItem(i18n("Undo/Redo &History..."),m_mainview,SLOT(undoHistory()));
edit->insertSeparator();
menuIndent = edit->insertItem(i18n("&Indent"),m_mainview,SLOT(indent()),CTRL+Key_I);
menuUnindent = edit->insertItem(i18n("Uninden&t"),m_mainview,SLOT(unIndent()),CTRL+Key_U);
menuCleanIndent = edit->insertItem(i18n("C&lean Indentation"),m_mainview,SLOT(cleanIndent()));
edit->insertSeparator();
// edit->insertItem(i18n("Format..."),m_mainview,SLOT(format()));
// edit->insertSeparator();
edit->insertItem(i18n("&Select All"),m_mainview,SLOT(selectAll()));
edit->insertItem(i18n("&Deselect All"),m_mainview,SLOT(deselectAll()));
edit->insertItem(i18n("In&vert Selection"),m_mainview,SLOT(invertSelection()));
edit->insertSeparator();
menuSpell = edit->insertItem(i18n("Spe&llcheck..."), m_mainview,SLOT(spellcheck()));
// edit->insertSeparator();
// edit->insertItem(i18n("Insert &Date"),this,SLOT(insertDate()));
// edit->insertItem(i18n("Insert &Time"),this,SLOT(insertTime()));
*/
// bookmarks->insertItem(i18n("&Set Bookmark..."),m_mainview,SLOT(setBookmark()),ALT+Key_S);
// bookmarks->insertItem(i18n("&Add Bookmark"),m_mainview,SLOT(addBookmark()));
// bookmarks->insertItem(i18n("&Clear Bookmarks"),m_mainview,SLOT(clearBookmarks()),ALT+Key_C);
//m_mainview->installBMPopup(bookmarks);
//highlight selector
hlPopup = new QPopupMenu();
hlPopup->setCheckable(true);
HlManager * hlManager = HlManager::self();
for (z = 0; z < hlManager->highlights(); z++) {
hlPopup->insertItem(i18n(hlManager->hlName(z)),z);
}
connect(hlPopup,SIGNAL(activated(int)),m_mainview,SLOT(setHl(int)));
// end of line selector
eolPopup = new QPopupMenu();
eolPopup->setCheckable(true);
eolPopup->insertItem("Unix", eolUnix);
eolPopup->insertItem("Macintosh", eolMacintosh);
eolPopup->insertItem("Windows/Dos", eolDos);
connect(eolPopup,SIGNAL(activated(int)),m_mainview,SLOT(setEol(int)));
options->setCheckable(TRUE);
options->insertItem(i18n("Set Highlight"),hlPopup);
connect(hlPopup,SIGNAL(aboutToShow()),this,SLOT(showHighlight()));
options->insertItem(i18n("&Defaults..."),m_mainview,SLOT(hlDef()));
options->insertItem(i18n("&Highlight..."),m_mainview,SLOT(hlDlg()));
// indentID = options->insertItem(i18n("Auto &Indent"),this,SLOT(toggle_indent_mode()));
// options->insertSeparator();
// options->insertItem(i18n("&Options..."),m_mainview,SLOT(optDlg()));
options->insertItem(i18n("&Colors..."),m_mainview,SLOT(colDlg()));
options->insertSeparator();
options->insertItem(i18n("&Configure..."), this, SLOT(configure()));
options->insertItem(i18n("&Keys..."), this, SLOT(keys()));
options->insertItem(i18n("End Of Line"),eolPopup);
connect(eolPopup,SIGNAL(aboutToShow()),this,SLOT(showEol()));
// options->insertItem(i18n("&Keys..."), this, SLOT(keyDlg()));
options->insertSeparator();
menuVertical = options->addCommand(ctStateCommands, cmToggleVertical);
//Item(i18n("&Vertical Selections"),m_mainview,SLOT(toggleVertical()),Key_F5);
menuShowTB = options->insertItem(i18n("Show &Toolbar"),this,SLOT(toggleToolBar()));
menuShowSB = options->insertItem(i18n("Show &Statusbar"),this,SLOT(toggleStatusBar()));
menuShowPath = options->insertItem(i18n("Show &Path"),this,SLOT(togglePath()));
options->insertItem(i18n("Save Config"),this,SLOT(writeConfig()));
// options->insertSeparator();
// options->insertItem(i18n("Save Options"),this,SLOT(save_options()));
help = helpMenu( i18n("KWrite 1.0.0\n\nCopyright 1998, 1999\nJochen Wilhelmy\ndigisnap@cs.tu-berlin.de"));
//right mouse button popup
popup = new QPopupMenu();
pixmap = BarIcon("fileopen");
popup->insertItem(QIconSet(pixmap), i18n("&Open..."),m_mainview,SLOT(open()));
pixmap = BarIcon("filefloppy");
popup->insertItem(QIconSet(pixmap), i18n("&Save"),m_mainview,SLOT(save()));
popup->insertItem(i18n("S&ave as..."),m_mainview,SLOT(saveAs()));
popup->insertSeparator();
/* pixmap = BarIcon("undo");
popup->insertItem(QIconSet(pixmap), i18n("&Undo"),m_mainview,SLOT(undo()));
pixmap = BarIcon("redo");
popup->insertItem(QIconSet(pixmap), i18n("R&edo"),m_mainview,SLOT(redo()));
popup->insertSeparator();*/
pixmap = BarIcon("editcut");
popup->insertItem(QIconSet(pixmap), i18n("C&ut"),m_mainview,SLOT(cut()));
pixmap = BarIcon("editcopy");
popup->insertItem(QIconSet(pixmap), i18n("&Copy"),m_mainview,SLOT(copy()));
pixmap = BarIcon("editpaste");
popup->insertItem(QIconSet(pixmap), i18n("&Paste"),m_mainview,SLOT(paste()));
m_mainview->installRBPopup(popup);
menubar = menuBar();
menubar->insertItem(i18n("&File"), file);
menubar->insertItem(i18n("&Edit"), edit);
menubar->insertItem(i18n("&Search"), find);
menubar->insertItem(i18n("&Bookmarks"), bookmarks);
menubar->insertItem(i18n("&Options"), options);
menubar->insertSeparator();
menubar->insertItem(i18n("&Help"), help);
}
kwrite'TopLevel::setupToolBar() (./kdeutils/kwrite/toplevel.cpp:384)
void TopLevel::setupToolBar(){
KToolBar *toolbar;
toolbar = toolBar();//new KToolBar(this);
QPixmap pixmap;
pixmap = BarIcon("filenew");
toolbar->insertButton(pixmap,0,SIGNAL(clicked()),
m_mainview,SLOT(newDoc()),TRUE,i18n("New"));
pixmap = BarIcon("fileopen");
toolbar->insertButton(pixmap,0,SIGNAL(clicked()),
m_mainview,SLOT(open()),TRUE,i18n("Open"));
pixmap = BarIcon("filefloppy");
toolbar->insertButton(pixmap,0,SIGNAL(clicked()),
m_mainview,SLOT(save()),TRUE,i18n("Save"));
toolbar->insertSeparator();
pixmap = BarIcon("editcut");
toolbar->insertButton(pixmap,toolCut,SIGNAL(clicked()),
m_mainview,SLOT(cut()),TRUE,i18n("Cut"));
pixmap = BarIcon("editcopy");
toolbar->insertButton(pixmap,0,SIGNAL(clicked()),
m_mainview,SLOT(copy()),TRUE,i18n("Copy"));
pixmap = BarIcon("editpaste");
toolbar->insertButton(pixmap,toolPaste,SIGNAL(clicked()),
m_mainview,SLOT(paste()),TRUE,i18n("Paste"));
toolbar->insertSeparator();
pixmap = BarIcon("undo");
toolbar->insertButton(pixmap,toolUndo,SIGNAL(clicked()),
m_mainview,SLOT(undo()),TRUE,i18n("Undo"));
pixmap = BarIcon("redo");
toolbar->insertButton(pixmap,toolRedo,SIGNAL(clicked()),
m_mainview,SLOT(redo()),TRUE,i18n("Redo"));
toolbar->insertSeparator();
pixmap = BarIcon("fileprint");
toolbar->insertButton(pixmap, 0, SIGNAL(clicked()),
this, SLOT(printNow()), TRUE, i18n("Print Document"));
/*
pixmap = BarIcon("send");
toolbar->insertButton(pixmap, 0,
SIGNAL(clicked()), this,
SLOT(mail()), TRUE, i18n("Mail Document"));
*/
toolbar->insertSeparator();
pixmap = BarIcon("help");
toolbar->insertButton(pixmap,0,SIGNAL(clicked()),
this,SLOT(helpSelected()),TRUE,i18n("Help"));
toolbar->setBarPos(KToolBar::Top);
}
kwrite'TopLevel::setupStatusBar() (./kdeutils/kwrite/toplevel.cpp:448)
void TopLevel::setupStatusBar(){
KStatusBar *statusbar;
statusbar = statusBar();//new KStatusBar( this );
statusbar->insertItem("Line:000000 Col: 000", ID_LINE_COLUMN);
statusbar->insertItem("XXX", ID_INS_OVR);
statusbar->insertItem("*", ID_MODIFIED);
statusbar->insertItem("", ID_GENERAL);
//statusbar->setInsertOrder(KStatusBar::RightToLeft);
//statusbar->setAlignment(ID_INS_OVR, AlignCenter);
//statusbar->setAlignment(ID_MODIFIED, AlignCenter);
// statusbar->setInsertOrder(KStatusBar::LeftToRight);
// statusbar->setBorderWidth(1);
// setStatusBar( statusbar );
}
kwrite'TopLevel::openRecent() (./kdeutils/kwrite/toplevel.cpp:467)
void TopLevel::openRecent(int id) {
if (m_mainview->canDiscard()) m_mainview->loadURL(recentPopup->text(id));
}
kwrite'TopLevel::newWindow() (./kdeutils/kwrite/toplevel.cpp:471)
void TopLevel::newWindow() {
TopLevel *t = new TopLevel(0L, m_mainview->fileName());
t->readConfig();
t->init();
// t->m_mainview->doc()->inheritFileName(m_mainview->doc());
}
kwrite'TopLevel::newView() (./kdeutils/kwrite/toplevel.cpp:479)
void TopLevel::newView() {
TopLevel *t = new TopLevel(m_mainview->doc());
t->readConfig();
t->m_mainview->copySettings(m_mainview);
t->init();
}
kwrite'TopLevel::closeWindow() (./kdeutils/kwrite/toplevel.cpp:488)
void TopLevel::closeWindow() {
close();
}
kwrite'TopLevel::quitEditor() (./kdeutils/kwrite/toplevel.cpp:493)
void TopLevel::quitEditor() {
// writeConfig();
kapp->quit();
}
kwrite'TopLevel::configure() (./kdeutils/kwrite/toplevel.cpp:499)
void TopLevel::configure() {
KWM kwm;
// I read that no widgets should be created on the stack
QTabDialog *qtd = new QTabDialog(this, "tabdialog", TRUE);
qtd->setCaption(i18n("Configure KWrite"));
// indent options
IndentConfigTab *indentConfig = new IndentConfigTab(qtd, m_mainview);
qtd->addTab(indentConfig, i18n("Indent"));
// select options
SelectConfigTab *selectConfig = new SelectConfigTab(qtd, m_mainview);
qtd->addTab(selectConfig, i18n("Select"));
// edit options
EditConfigTab *editConfig = new EditConfigTab(qtd, m_mainview);
qtd->addTab(editConfig, i18n("Edit"));
// spell checker
KSpellConfig *ksc = new KSpellConfig(qtd, 0L, m_mainview->ksConfig());
qtd->addTab(ksc, i18n("Spellchecker"));
// keys
//this still lacks layout management, so the tabdialog does not
//make it fit
// KGuiCmdConfigTab *keys = new KGuiCmdConfigTab(qtd, &cmdMngr);
// qtd->addTab(keys, i18n("Keys"));
qtd->setOkButton(i18n("OK"));
qtd->setCancelButton(i18n("Cancel"));
// Is there a _right_ way to do this?
// yes: donīt do it :)
// qtd->setMinimumSize (ksc.sizeHint().width() + qtd->sizeHint().width(),
// ksc.sizeHint().height() + qtd->sizeHint().height());
kwm.setMiniIcon(qtd->winId(), kapp->miniIcon());
if (qtd->exec()) {
// indent options
indentConfig->getData(m_mainview);
// select options
selectConfig->getData(m_mainview);
// edit options
editConfig->getData(m_mainview);
// spell checker
ksc->writeGlobalSettings();
m_mainview->setKSConfig(*ksc);
// keys
// cmdMngr.changeAccels();
// cmdMngr.writeConfig(kapp->config());
// } else {
// // cancel keys
// cmdMngr.restoreAccels();
}
delete qtd;
}
kwrite'TopLevel::keys() (./kdeutils/kwrite/toplevel.cpp:558)
void TopLevel::keys() {
KDialogBase *dlg = new KDialogBase(this, "keys", true,
i18n("Configure Keybindings"), KDialogBase::Ok | KDialogBase::Cancel,
KDialogBase::Ok);
// keys
//this still lacks layout management, so the tabdialog does not
//make it fit
KGuiCmdConfigTab *keys = new KGuiCmdConfigTab(dlg, &cmdMngr);
keys->resize(450, 290);
dlg->setMainWidget(keys);
dlg->resize(450, 315);
if (dlg->exec()) {
// change keys
cmdMngr.changeAccels();
cmdMngr.writeConfig(kapp->config());
} else {
// cancel keys
cmdMngr.restoreAccels();
}
delete dlg;
}
kwrite'TopLevel::toggleToolBar() (./kdeutils/kwrite/toplevel.cpp:586)
void TopLevel::toggleToolBar() {
options->setItemChecked(menuShowTB,hideToolBar);
if (hideToolBar) {
hideToolBar = FALSE;
enableToolBar(KToolBar::Show);
} else {
hideToolBar = TRUE;
enableToolBar(KToolBar::Hide);
}
}
/*
void TopLevel::keyDlg() {
QDialog *dlg;
// cmdMngr.saveAccels();
dlg = new KGuiCmdConfig(&cmdMngr, this);
dlg->setCaption(i18n("Key Bindings"));
if (dlg->exec() == QDialog::Accepted) {
cmdMngr.changeAccels();
cmdMngr.writeConfig(kapp->config());
} else cmdMngr.restoreAccels();
delete dlg;
}
*/
kwrite'TopLevel::toggleStatusBar() (./kdeutils/kwrite/toplevel.cpp:613)
void TopLevel::toggleStatusBar() {
options->setItemChecked(menuShowSB, hideStatusBar);
if (hideStatusBar) {
hideStatusBar = FALSE;
enableStatusBar(KStatusBar::Show);
} else {
hideStatusBar = TRUE;
enableStatusBar(KStatusBar::Hide);
}
}
kwrite'TopLevel::togglePath() (./kdeutils/kwrite/toplevel.cpp:625)
void TopLevel::togglePath() {
showPath = !showPath;
options->setItemChecked(menuShowPath, showPath);
newCaption();
}
kwrite'TopLevel::print() (./kdeutils/kwrite/toplevel.cpp:633)
void TopLevel::print(bool dialog) {
QString title = m_mainview->fileName();
if (!showPath) {
int pos = title.findRev('/');
if (pos != -1) {
title = title.right(title.length() - pos - 1);
}
}
KTextPrintConfig::print(this, kapp->config(), dialog, title,
m_mainview->numLines(), this, SLOT(doPrint(KTextPrint &)));
}
kwrite'TopLevel::doPrint() (./kdeutils/kwrite/toplevel.cpp:646)
void TopLevel::doPrint(KTextPrint &printer) {
KWriteDoc *doc = m_mainview->doc();
int z, numAttribs;
Attribute *a;
int line, attr, nextAttr, oldZ;
TextLine *textLine;
const QChar *s;
// printer.setTitle(m_doc->fileName());
printer.setTabWidth(doc->tabWidth());
numAttribs = doc->numAttribs();
a = doc->attribs();
for (z = 0; z < numAttribs; z++) {
printer.defineColor(z, a[z].col.red(), a[z].col.green(), a[z].col.blue());
}
printer.begin();
line = 0;
attr = -1;
while (true) {
textLine = doc->textLine(line);
s = textLine->getText();
// printer.print(s, textLine->length());
oldZ = 0;
for (z = 0; z < textLine->length(); z++) {
nextAttr = textLine->getAttr(z);
if (nextAttr != attr) {
attr = nextAttr;
printer.print(&s[oldZ], z - oldZ);
printer.setColor(attr);
int fontStyle = 0;
if (a[attr].font.bold()) fontStyle |= KTextPrint::Bold;
if (a[attr].font.italic()) fontStyle |= KTextPrint::Italics;
printer.setFontStyle(fontStyle);
oldZ = z;
}
}
printer.print(&s[oldZ], z - oldZ);
line++;
if (line == doc->numLines()) break;
printer.newLine();
}
printer.end();
}
kwrite'TopLevel::printNow() (./kdeutils/kwrite/toplevel.cpp:696)
void TopLevel::printNow() {
print(false);
}
kwrite'TopLevel::printDlg() (./kdeutils/kwrite/toplevel.cpp:700)
void TopLevel::printDlg() {
print(true);
}
kwrite'TopLevel::helpSelected() (./kdeutils/kwrite/toplevel.cpp:704)
void TopLevel::helpSelected() {
kapp->invokeHTMLHelp( "" , "" );
}
kwrite'TopLevel::newCurPos() (./kdeutils/kwrite/toplevel.cpp:708)
void TopLevel::newCurPos() {
statusBar()->changeItem(QString("%1: %2 %3: %4")
.arg(i18n("Line"))
.arg(m_mainview->currentLine() +1)
.arg(i18n("Col"))
.arg(m_mainview->currentColumn() +1),
ID_LINE_COLUMN);
}
kwrite'TopLevel::newStatus() (./kdeutils/kwrite/toplevel.cpp:717)
void TopLevel::newStatus() {
int config;
bool readOnly;
readOnly = m_mainview->isReadOnly();
config = m_mainview->config();
options->setItemChecked(menuVertical,config & cfVerticalSelect);
if (readOnly)
statusBar()->changeItem("R/O",ID_INS_OVR);
else
statusBar()->changeItem(config & cfOvr ? "OVR" : "INS",ID_INS_OVR);
statusBar()->changeItem(m_mainview->isModified() ? "*" : "",ID_MODIFIED);
file->setItemEnabled(menuInsert,!readOnly);
file->setItemEnabled(menuSave,!readOnly);
edit->setItemEnabled(menuIndent,!readOnly);
edit->setItemEnabled(menuUnindent,!readOnly);
edit->setItemEnabled(menuCleanIndent,!readOnly);
edit->setItemEnabled(menuSpell,!readOnly);
edit->setItemEnabled(menuCut,!readOnly);
edit->setItemEnabled(menuPaste,!readOnly);
edit->setItemEnabled(menuReplace,!readOnly);
toolBar()->setItemEnabled(toolCut,!readOnly);
toolBar()->setItemEnabled(toolPaste,!readOnly);
newUndo();
}
kwrite'TopLevel::statusMsg() (./kdeutils/kwrite/toplevel.cpp:750)
void TopLevel::statusMsg(const QString &msg) {
statusbarTimer->stop();
statusBar()->changeItem(msg, ID_GENERAL);
statusbarTimer->start(10000, true); //single shot
}
kwrite'TopLevel::timeout() (./kdeutils/kwrite/toplevel.cpp:756)
void TopLevel::timeout() {
statusBar()->changeItem("", ID_GENERAL);
}
kwrite'TopLevel::newCaption() (./kdeutils/kwrite/toplevel.cpp:760)
void TopLevel::newCaption() {
QString caption;
int z;
if (m_mainview->hasFileName()) {
caption = m_mainview->fileName();
//set recent files popup menu
z = (int) recentPopup->count();
while (z > 0) {
z--;
if (caption == recentPopup->text(recentPopup->idAt(z)))
recentPopup->removeItemAt(z);
}
recentPopup->insertItem(caption, 0, 0);
if (recentPopup->count() > 5) recentPopup->removeItemAt(5);
for (z = 0; z < 5; z++) recentPopup->setId(z, z);
//set caption
if (!showPath) {
int pos = caption.findRev('/');
if (pos != -1) {
caption = caption.right( caption.length() - pos - 1);
}
}
setCaption(caption);
} else {
setCaption(kapp->caption());
}
}
kwrite'TopLevel::newUndo() (./kdeutils/kwrite/toplevel.cpp:790)
void TopLevel::newUndo() {
int state, uType, rType;
QString t;
state = m_mainview->undoState();
edit->setItemEnabled(menuUndoHist,(state & 1 || state & 2));
t = cmdMngr.getCommand(ctEditCommands, cmUndo)->getName();
if (state & 1) {
uType = m_mainview->nextUndoType();
edit->setItemEnabled(menuUndo,true);
toolBar()->setItemEnabled(toolUndo,true);
t += ' ';
t += i18n(m_mainview->undoTypeName(uType));
} else {
edit->setItemEnabled(menuUndo,false);
toolBar()->setItemEnabled(toolUndo,false);
}
edit->setText(t, menuUndo);
t = cmdMngr.getCommand(ctEditCommands, cmRedo)->getName();
if (state & 2) {
rType = m_mainview->nextRedoType();
edit->setItemEnabled(menuRedo,true);
toolBar()->setItemEnabled(toolRedo,true);
t += ' ';
t += i18n(m_mainview->undoTypeName(rType));
} else {
edit->setItemEnabled(menuRedo,false);
toolBar()->setItemEnabled(toolRedo,false);
}
edit->setText(t, menuRedo);
}
kwrite'TopLevel::dragEnterEvent() (./kdeutils/kwrite/toplevel.cpp:827)
void TopLevel::dragEnterEvent( QDragEnterEvent *event )
{
event->accept(QUriDrag::canDecode(event));
}
kwrite'TopLevel::dropEvent() (./kdeutils/kwrite/toplevel.cpp:832)
void TopLevel::dropEvent( QDropEvent *event )
{
slotDropEvent(event);
}
kwrite'TopLevel::slotDropEvent() (./kdeutils/kwrite/toplevel.cpp:837)
void TopLevel::slotDropEvent( QDropEvent *event )
{
QStrList urls;
if (QUriDrag::decode(event, urls)) {
debug("TopLevel:Handling QUriDrag...");
char *s;
for (s = urls.first(); s != 0L; s = urls.next()) {
// Load the first file in this window
if (s == urls.getFirst() && !m_mainview->isModified() && !m_mainview->isReadOnly()) {
loadURL(s);
} else {
TopLevel *t = new TopLevel();
t->readConfig();
t->loadURL(s);
t->init();
}
}
}
}
kwrite'TopLevel::showHighlight() (./kdeutils/kwrite/toplevel.cpp:858)
void TopLevel::showHighlight() {
int hl = m_mainview->getHl();
for (int index = 0; index < (int) hlPopup->count(); index++)
hlPopup->setItemChecked(index, hl == index);
}
kwrite'TopLevel::showEol() (./kdeutils/kwrite/toplevel.cpp:865)
void TopLevel::showEol() {
int eol = m_mainview->getEol();
for (int index = 0; index < (int) eolPopup->count(); index++)
eolPopup->setItemChecked(index, eol == index);
}
//common config
kwrite'TopLevel::readConfig() (./kdeutils/kwrite/toplevel.cpp:873)
void TopLevel::readConfig(KConfig *config) {
int z;
char name[16];
QString s;
hideToolBar = config->readNumEntry("HideToolBar");
hideStatusBar = config->readNumEntry("HideStatusBar");
showPath = config->readNumEntry("ShowPath");
for (z = 0; z < 5; z++) {
sprintf(name, "Recent%d", z + 1);
s = config->readEntry(name);
if (!s.isEmpty()) recentPopup->insertItem(s);
}
}
kwrite'TopLevel::writeConfig() (./kdeutils/kwrite/toplevel.cpp:889)
void TopLevel::writeConfig(KConfig *config) {
int z;
char name[16];
config->writeEntry("HideToolBar",hideToolBar);
config->writeEntry("HideStatusBar",hideStatusBar);
config->writeEntry("ShowPath",showPath);
for (z = 0; z < (int) recentPopup->count(); z++) {
sprintf(name, "Recent%d", z + 1);
config->writeEntry(name, recentPopup->text(recentPopup->idAt(z)));
}
}
//config file
kwrite'TopLevel::readConfig() (./kdeutils/kwrite/toplevel.cpp:904)
void TopLevel::readConfig() {
KConfig *config;
int w, h;
config = kapp->config();
config->setGroup("General Options");
w = config->readNumEntry("Width", 550);
h = config->readNumEntry("Height", 400);
resize(w, h);
readConfig(config);
// hideToolBar = config->readNumEntry("HideToolBar");
// hideStatusBar = config->readNumEntry("HideStatusBar");
m_mainview->readConfig(config);
m_mainview->doc()->readConfig(config);
}
kwrite'TopLevel::writeConfig() (./kdeutils/kwrite/toplevel.cpp:923)
void TopLevel::writeConfig() {
KConfig *config;
config = kapp->config();
config->setGroup("General Options");
config->writeEntry("Width", width());
config->writeEntry("Height", height());
writeConfig(config);
// config->writeEntry("HideToolBar",hideToolBar);
// config->writeEntry("HideStatusBar",hideStatusBar);
m_mainview->writeConfig(config);
m_mainview->doc()->writeConfig(config);
}
// session management
kwrite'TopLevel::restore() (./kdeutils/kwrite/toplevel.cpp:941)
void TopLevel::restore(KConfig *config, int n) {
if (m_mainview->isLastView() && m_mainview->hasFileName()) { //in this case first view
loadURL(m_mainview->fileName(), lfNoAutoHl);
}
readPropertiesInternal(config, n);
init();
// show();
}
kwrite'TopLevel::readProperties() (./kdeutils/kwrite/toplevel.cpp:951)
void TopLevel::readProperties(KConfig *config) {
readConfig(config);
m_mainview->readSessionConfig(config);
}
kwrite'TopLevel::saveProperties() (./kdeutils/kwrite/toplevel.cpp:957)
void TopLevel::saveProperties(KConfig *config) {
writeConfig(config);
config->writeEntry("DocumentNumber",docList.find(m_mainview->doc()) + 1);
m_mainview->writeSessionConfig(config);
#warning fix session management
#if 0
setUnsavedData(m_mainview->isModified());
#endif
}
kwrite'TopLevel::saveData() (./kdeutils/kwrite/toplevel.cpp:968)
void TopLevel::saveData(KConfig *config) { //save documents
int z;
char buf[16];
KWriteDoc *doc;
config->setGroup("Number");
config->writeEntry("NumberOfDocuments",docList.count());
for (z = 1; z <= (int) docList.count(); z++) {
sprintf(buf,"Document%d",z);
config->setGroup(buf);
doc = docList.at(z - 1);
doc->writeSessionConfig(config);
}
}
//restore session