Source Code (Use browser search to find items of interest.)
Class Index
kiconedit'KIconEdit (./kdegraphics/kiconedit/kiconedit.h:119)
class KIconEdit : public KTMainWindow
{
Q_OBJECT
public:
KIconEdit( const QString &xpm = QString::null, const char *name = "kiconedit");
KIconEdit( const QImage image, const char *name = "kiconedit");
~KIconEdit();
virtual QSize sizeHint() const;
signals:
public slots:
virtual void saveProperties(KConfig*);
virtual void readProperties(KConfig*);
void saveGoingDownStatus();
void unsaved(bool flag);
protected slots:
void addColors(uint, uint*);
void addColor(uint);
void slotNewWin();
void slotNewWin(const char *url = 0);
void slotNew();
void slotOpen();
void slotClose();
void slotQuit();
void slotSave();
void slotSaveAs();
void slotPrint();
void slotView(int);
void slotCopy();
void slotCut();
void slotPaste();
void slotClear();
void slotImage(int id);
void slotSaved();
void slotSelectAll();
void slotOpenRecent(int id);
void slotConfigure(int);
void slotTools(int);
void slotUpdateStatusColors(uint);
void slotUpdateStatusColors(uint, uint*);
void slotUpdateStatusPos(int, int);
void slotUpdateStatusSize(int, int);
void slotClearStatusMessage();
void slotUpdateStatusMessage(const char *);
void slotUpdateStatusName(const char *);
void slotUpdateStatusScaling(int, bool);
void slotUpdatePaste(bool);
void slotUpdateCopy(bool);
void slotOpenBlank(const QSize);
void slotQDropEvent( QDropEvent* );
void slotQDragLeaveEvent( QDragLeaveEvent* );
void slotQDragEnterEvent( QDragEnterEvent* );
protected:
void init();
bool setupMenuBar();
bool setupToolBar();
bool setupDrawToolBar();
bool setupPaletteToolBar();
bool setupStatusBar();
bool setupWhatsThis();
virtual bool queryClose();
virtual void resizeEvent(QResizeEvent*);
void writeConfig();
void toggleTool(int id);
void addRecent(const char *file);
void updateMenuAccel();
KIconTemplateContainer *icontemplates;
QLabel *syslabel, *customlabel;
Preview *preview;
KSysColors *syscolors;
KCustomColors *customcolors;;
KMenuBar *menubar;
KToolBar *toolbar, *drawtoolbar, *palettetoolbar;
KStatusBar *statusbar;
QPopupMenu *edit, *file, *view, *image, *help, *tools, *options, *zoom, *recent, *select;
KIconEditGrid *grid;
QTimer *msgtimer;
KGridView *gridview;
KIconEditIcon *icon;
KDropSite *dropsite;
KDragSource *dragbutton;
KIconEditProperties *kiprops;
QWhatsThis *what;
QImage img;
QPrinter *printer;
};
kiconedit'KIconEdit::KIconEdit() (./kdegraphics/kiconedit/kiconedit.cpp:34)
KIconEdit::KIconEdit(const QImage image, const char *name)
: KTMainWindow(name)
{
init();
img = image;
img.detach();
grid->load(&img);
preview->setPixmap(grid->pixmap());
}
kiconedit'KIconEdit::KIconEdit() (./kdegraphics/kiconedit/kiconedit.cpp:44)
KIconEdit::KIconEdit(const QString &xpm, const char *name)
: KTMainWindow(name)
{
init();
icon->open(&img, xpm);
preview->setPixmap(grid->pixmap());
}
kiconedit'KIconEdit::init() (./kdegraphics/kiconedit/kiconedit.cpp:52)
void KIconEdit::init()
{
setCaption(kapp->caption());
printer = new QPrinter;
CHECK_PTR(printer);
kiprops = new KIconEditProperties(this);
CHECK_PTR(kiprops);
Properties *pprops = props(this);
menubar = 0L;
toolbar = 0L;
drawtoolbar = 0L;
palettetoolbar = 0L;
statusbar = 0L;
what = 0L;
msgtimer = new QTimer(this);
CHECK_PTR(msgtimer);
connect( msgtimer, SIGNAL(timeout()), SLOT(slotClearStatusMessage()));
icontemplates = new KIconTemplateContainer;
CHECK_PTR(icontemplates);
gridview = new KGridView(&img, this); //viewport->viewport()); //KIconEditView(this);
CHECK_PTR(gridview);
gridview->setShowRulers(pprops->showrulers);
grid = gridview->grid();
grid->setGrid(pprops->showgrid);
grid->setCellSize(pprops->gridscaling);
icon = new KIconEditIcon(this, &grid->image());
CHECK_PTR(icon);
setAcceptDrops(true);
dropsite = new KDropSite( grid );
CHECK_PTR(dropsite);
connect( dropsite, SIGNAL( dropAction( QDropEvent*) ),
this, SLOT( slotQDropEvent( QDropEvent*) ) );
connect( dropsite, SIGNAL( dragLeave( QDragLeaveEvent*) ),
this, SLOT( slotQDragLeaveEvent( QDragLeaveEvent*) ) );
connect( dropsite, SIGNAL( dragEnter( QDragEnterEvent*) ),
this, SLOT( slotQDragEnterEvent( QDragEnterEvent*) ) );
setupStatusBar();
setupMenuBar();
setupToolBar();
setupDrawToolBar();
setupPaletteToolBar();
setupWhatsThis();
connect( icon, SIGNAL( saved()),
SLOT(slotSaved()));
connect( icon, SIGNAL( loaded(QImage *)),
grid, SLOT(load(QImage *)));
connect( icon, SIGNAL(opennewwin(const char *)),
SLOT(slotNewWin(const char *)));
connect(icon, SIGNAL(newname(const char *)),
SLOT( slotUpdateStatusName(const char *)));
connect(icon, SIGNAL(newmessage(const char *)),
SLOT( slotUpdateStatusMessage(const char *)));
connect( syscolors, SIGNAL( newcolor(uint)),
grid, SLOT(setColorSelection(uint)));
connect( customcolors, SIGNAL( newcolor(uint)),
grid, SLOT(setColorSelection(uint)));
connect( grid, SIGNAL( changed(const QPixmap &)),
preview, SLOT(setPixmap(const QPixmap &)));
connect( grid, SIGNAL( addingcolor(uint) ),
SLOT(addColor(uint)));
connect( grid, SIGNAL( colorschanged(uint, uint*) ),
SLOT(addColors(uint, uint*)));
connect(grid, SIGNAL(sizechanged(int, int)),
SLOT( slotUpdateStatusSize(int, int)));
connect(grid, SIGNAL(poschanged(int, int)),
SLOT( slotUpdateStatusPos(int, int)));
connect(grid, SIGNAL(scalingchanged(int, bool)),
SLOT( slotUpdateStatusScaling(int, bool)));
connect( grid, SIGNAL( addingcolor(uint) ),
SLOT(slotUpdateStatusColors(uint)));
connect(grid, SIGNAL(colorschanged(uint, uint*)),
SLOT( slotUpdateStatusColors(uint, uint*)));
connect(grid, SIGNAL(newmessage(const char *)),
SLOT( slotUpdateStatusMessage(const char *)));
connect(grid, SIGNAL(clipboarddata(bool)),
SLOT( slotUpdatePaste(bool)));
connect(grid, SIGNAL(selecteddata(bool)),
SLOT( slotUpdateCopy(bool)));
debug("Setting tool");
slotTools(ID_DRAW_FIND);
debug("Updating statusbar");
slotUpdateStatusSize(grid->cols(), grid->rows());
slotUpdateStatusScaling(grid->scaling(), true);
if(icon->url().length())
slotUpdateStatusName(icon->url().data());
slotUpdateCopy(false);
uint *c = 0, n = 0;
n = grid->getColors(c);
slotUpdateStatusColors(n, c);
setView(gridview);
if((pprops->winwidth > 0) && (pprops->winheight > 0))
resize( pprops->winwidth, pprops->winheight );
debug("Showing");
show();
}
kiconedit'KIconEdit::~KIconEdit() (./kdegraphics/kiconedit/kiconedit.cpp:169)
KIconEdit::~KIconEdit()
{
/* the following should be destructed by the QObject/QWidget destructor
if(l)
delete l;
l = 0L;
if(grid)
delete grid;
grid = 0L;
if(toolsw)
delete toolsw;
toolsw = 0L;
if(newicon)
delete newicon;
newicon = 0L;
*/
if(printer)
delete printer;
if(what)
delete what;
what = 0L;
if(toolbar)
delete toolbar;
toolbar = 0L;
if(drawtoolbar)
delete drawtoolbar;
drawtoolbar = 0L;
if(menubar)
delete menubar;
menubar = 0L;
if(statusbar)
delete statusbar;
statusbar = 0L;
if(icontemplates)
delete icontemplates;
icontemplates = 0L;
delete file;
delete edit;
delete view;
delete tools;
delete options;
delete help;
delete select;
delete recent;
delete zoom;
}
kiconedit'KIconEdit::queryClose() (./kdegraphics/kiconedit/kiconedit.cpp:216)
bool KIconEdit::queryClose()
{
bool cancel = false;
if (grid->isModified())
{
//KWM::activate(winId());
int r = KMessageBox::warningYesNoCancel(this,
i18n("The current file has been modified.\nDo you want to save it?"));
switch(r)
{
case 0:
icon->save(&grid->image());
//grid->save(grid->drawPath());
break;
case 1:
break;
case 2:
cancel = true;
break;
default:
break;
}
}
if(!cancel)
{
writeConfig();
icon->cleanup();
}
return (!cancel);
}
kiconedit'KIconEdit::resizeEvent() (./kdegraphics/kiconedit/kiconedit.cpp:247)
void KIconEdit::resizeEvent( QResizeEvent * )
{
// save size of the application window
//debug("KIconEdit::resizeEvent()");
props(this)->winwidth = geometry().width();
props(this)->winheight = geometry().height();
updateRects();
//viewport->updateScrollBars();
}
kiconedit'KIconEdit::unsaved() (./kdegraphics/kiconedit/kiconedit.cpp:258)
void KIconEdit::unsaved( bool /*flag*/ )
{
#warning fix session management
//setUnsavedData(flag);
}
kiconedit'KIconEdit::saveGoingDownStatus() (./kdegraphics/kiconedit/kiconedit.cpp:264)
void KIconEdit::saveGoingDownStatus()
{
debug("KIconEdit::saveGoingDownStatus");
if( grid->isModified() )
{
debug("Saving backup for modified file %s", icon->url().data());
icon->saveBackup(&grid->image());
}
else
icon->cleanup();
debug("KIconEdit::saveGoingDownStatus - done");
}
// this is for exit by request of the session manager
kiconedit'KIconEdit::saveProperties() (./kdegraphics/kiconedit/kiconedit.cpp:278)
void KIconEdit::saveProperties(KConfig *config )
{
debug("KIconEdit::saveProperties");
config->writeEntry("Name", icon->url());
saveGoingDownStatus();
}
// this is for instances opened by the session manager
kiconedit'KIconEdit::readProperties() (./kdegraphics/kiconedit/kiconedit.cpp:286)
void KIconEdit::readProperties(KConfig *config)
{
debug("KIconEdit::readProperties");
QString entry = config->readEntry("Name", ""); // no default
if (entry.isEmpty())
return;
icon->open(&grid->image(), entry.data());
}
// this is for normal exits or request from "Options->Save options".
kiconedit'KIconEdit::writeConfig() (./kdegraphics/kiconedit/kiconedit.cpp:296)
void KIconEdit::writeConfig()
{
/*
Properties *pprops = props(this);
pprops->maintoolbarstat = toolbar->isVisible();
pprops->drawtoolbarstat = drawtoolbar->isVisible();
pprops->statusbarstat = statusbar->isVisible();
pprops->maintoolbarpos = toolbar->barPos();
pprops->drawtoolbarpos = drawtoolbar->barPos();
//pprops->showgrid = grid->hasGrid();
//pprops->gridscaling = grid->cellSize();
*/
KIconEditProperties::saveProperties(this);
}
kiconedit'KIconEdit::sizeHint() (./kdegraphics/kiconedit/kiconedit.cpp:315)
QSize KIconEdit::sizeHint() const
{
if(gridview)
return gridview->sizeHint();
else
return QSize(-1, -1);
}
kiconedit'KIconEdit::setupMenuBar() (./kdegraphics/kiconedit/kiconedit.cpp:323)
bool KIconEdit::setupMenuBar()
{
debug("setupMenuBar");
Properties *pprops = props(this);
if(!menubar)
{
menubar = new KMenuBar(this);
CHECK_PTR(menubar);
setMenu(menubar);
pprops->menubar = menubar;
}
KAccel *keys = pprops->keys; // = new KAccel( this );
CHECK_PTR(keys);
keys->connectItem( KStdAccel::New, this, SLOT(slotNew()) );
keys->connectItem( KStdAccel::Save , this, SLOT(slotSave()) );
keys->connectItem( KStdAccel::Quit, this, SLOT(slotQuit()) );
keys->connectItem( KStdAccel::Cut , this, SLOT(slotCut()) );
keys->connectItem( KStdAccel::Copy , this, SLOT(slotCopy()) );
keys->connectItem( KStdAccel::Paste , this, SLOT(slotPaste()) );
keys->connectItem( KStdAccel::Open , this, SLOT(slotOpen()) );
keys->connectItem( KStdAccel::Close , this, SLOT(slotClose()) );
keys->connectItem( KStdAccel::Print , this, SLOT(slotPrint()) );
keys->insertItem(i18n("Select All"), "Select All", CTRL+Key_A);
keys->connectItem( "Select All", this, SLOT(slotSelectAll()) );
keys->readSettings();
debug("setupMenuBar - read settings");
recent = new QPopupMenu;
CHECK_PTR(recent);
connect( recent, SIGNAL(activated(int)), SLOT(slotOpenRecent(int)));
for(uint i = 0; i < pprops->recentlist->count(); i++)
recent->insertItem(pprops->recentlist->at(i));
int id;
file = new QPopupMenu;
CHECK_PTR(file);
file->insertItem(BarIcon("newwin"), i18n("New &Window"), ID_FILE_NEWWIN);
file->connectItem(ID_FILE_NEWWIN, this, SLOT(slotNewWin()));
file->insertSeparator();
id = file->insertItem(BarIcon("filenew"), i18n("&New..."), ID_FILE_NEWFILE);
file->connectItem(ID_FILE_NEWFILE, this, SLOT(slotNew()));
id = file->insertItem(BarIcon("fileopen"), i18n("&Open..."), ID_FILE_OPEN);
file->connectItem(ID_FILE_OPEN, this, SLOT(slotOpen()));
file->insertItem(i18n("Open recent"), recent, ID_FILE_RECENT);
//file->setItemEnabled(ID_FILE_RECENT, false);
file->insertSeparator();
id = file->insertItem(BarIcon("filefloppy"), i18n("&Save"), ID_FILE_SAVE);
file->connectItem(ID_FILE_SAVE, this, SLOT(slotSave()));
file->insertItem(i18n("S&ave as..."), ID_FILE_SAVEAS);
file->connectItem(ID_FILE_SAVEAS, this, SLOT(slotSaveAs()));
file->insertSeparator();
id = file->insertItem(BarIcon("fileprint"), i18n("&Print..."), ID_FILE_PRINT);
file->connectItem(ID_FILE_PRINT, this, SLOT(slotPrint()));
file->insertSeparator();
id = file->insertItem(BarIcon("fileclose"), i18n("&Close"), ID_FILE_CLOSE);
file->connectItem(ID_FILE_CLOSE, this, SLOT(slotClose()));
id = file->insertItem(i18n("&Exit"), ID_FILE_QUIT);
file->connectItem(ID_FILE_QUIT, this, SLOT(slotQuit()));
menubar->insertItem(i18n("&File"), file);
edit = new QPopupMenu;
CHECK_PTR(edit);
id = edit->insertItem(BarIcon("editcut"), i18n("Cu&t"), ID_EDIT_CUT);
edit->connectItem(ID_EDIT_CUT, this, SLOT(slotCut()));
id = edit->insertItem(BarIcon("editcopy"), i18n("&Copy"), ID_EDIT_COPY);
edit->connectItem(ID_EDIT_COPY, this, SLOT(slotCopy()));
id = edit->insertItem(BarIcon("editpaste"), i18n("&Paste"), ID_EDIT_PASTE);
edit->connectItem(ID_EDIT_PASTE, this, SLOT(slotPaste()));
id = edit->insertItem(i18n("Paste as &new"), ID_EDIT_PASTE_AS_NEW);
edit->connectItem(ID_EDIT_PASTE_AS_NEW, grid, SLOT(editPasteAsNew()));
id = edit->insertItem(i18n("Clea&r"), this, SLOT(slotClear()));
edit->insertSeparator();
id = edit->insertItem(i18n("Select &all"), ID_EDIT_SELECT_ALL);
edit->connectItem(ID_EDIT_SELECT_ALL, this, SLOT(slotSelectAll()));
menubar->insertItem(i18n("&Edit"), edit);
zoom = new QPopupMenu;
CHECK_PTR(zoom);
id = zoom->insertItem(i18n("1:1"), ID_VIEW_ZOOM_1TO1);
id = zoom->insertItem(i18n("1:5"), ID_VIEW_ZOOM_1TO5);
id = zoom->insertItem(i18n("1:10"), ID_VIEW_ZOOM_1TO10);
connect( zoom, SIGNAL(activated(int)), SLOT(slotView(int)));
view = new QPopupMenu;
CHECK_PTR(view);
id = view->insertItem(BarIcon("viewmag+"), i18n("Zoom &in"), ID_VIEW_ZOOM_IN);
id = view->insertItem(BarIcon("viewmag-"), i18n("Zoom &out"), ID_VIEW_ZOOM_OUT);
id = view->insertItem(BarIcon("viewmag"), i18n("Zoom factor"), zoom);
connect( view, SIGNAL(activated(int)), SLOT(slotView(int)));
menubar->insertItem(i18n("&View"), view);
image = new QPopupMenu;
CHECK_PTR(image);
#if QT_VERSION >= 140
id = image->insertItem(BarIcon("transform"), i18n("&Resize"), ID_IMAGE_RESIZE);
#endif
id = image->insertItem(BarIcon("grayscale"), i18n("&GrayScale"), ID_IMAGE_GRAYSCALE);
//id = image->insertItem(BarIcon("kdepalette"), i18n("&Map to KDE palette"), ID_IMAGE_MAPTOKDE);
connect( image, SIGNAL(activated(int)), SLOT(slotImage(int)));
menubar->insertItem(i18n("&Icon"), image);
tools = new QPopupMenu;
CHECK_PTR(tools);
tools->insertItem(BarIcon("paintbrush"), i18n("Freehand"), ID_DRAW_FREEHAND);
tools->insertItem(BarIcon("rectangle"), i18n("Rectangle"), ID_DRAW_RECT);
tools->insertItem(BarIcon("filledrectangle"), i18n("Filled rectangle"), ID_DRAW_RECT_FILL);
tools->insertItem(BarIcon("circle"), i18n("Circle"), ID_DRAW_CIRCLE);
tools->insertItem(BarIcon("filledcircle"), i18n("Filled circle"), ID_DRAW_CIRCLE_FILL);
tools->insertItem(BarIcon("ellipse"), i18n("Ellipse"), ID_DRAW_ELLIPSE);
tools->insertItem(BarIcon("filledellipse"), i18n("Filled ellipse"), ID_DRAW_ELLIPSE_FILL);
tools->insertItem(BarIcon("spraycan"), i18n("Spray"), ID_DRAW_SPRAY);
tools->insertItem(BarIcon("flood"), i18n("Flood fill"), ID_DRAW_FILL);
tools->insertItem(BarIcon("line"), i18n("Line"), ID_DRAW_LINE);
tools->insertItem(BarIcon("eraser"), i18n("Eraser (Transparent)"), ID_DRAW_ERASE);
//tools->insertSeparator();
connect( tools, SIGNAL(activated(int)), SLOT(slotTools(int)));
menubar->insertItem(i18n("&Tools"), tools);
options = new QPopupMenu;
CHECK_PTR(options);
id = options->insertItem(i18n("&Configure"), ID_OPTIONS_CONFIGURE);
options->insertSeparator();
options->insertItem(i18n("Toggle &Grid"), ID_OPTIONS_TOGGLE_GRID);
if(pprops->showgrid)
options->setItemChecked(ID_OPTIONS_TOGGLE_GRID, true);
options->insertItem(i18n("Toggle &toolbar"), ID_OPTIONS_TOGGLE_TOOL1);
if(pprops->maintoolbarstat)
options->setItemChecked(ID_OPTIONS_TOGGLE_TOOL1, true);
options->insertItem(i18n("Toggle &drawing tools"), ID_OPTIONS_TOGGLE_TOOL2);
if(pprops->drawtoolbarstat)
options->setItemChecked(ID_OPTIONS_TOGGLE_TOOL2, true);
options->insertItem(i18n("Toggle &statusbar"), ID_OPTIONS_TOGGLE_STATS);
if(pprops->statusbarstat)
options->setItemChecked(ID_OPTIONS_TOGGLE_STATS, true);
options->insertSeparator();
options->insertItem(BarIcon("filefloppy"), i18n("&Save options"), ID_OPTIONS_SAVE);
connect( options, SIGNAL(activated(int)), SLOT(slotConfigure(int)));
menubar->insertItem(i18n("&Options"), options);
menubar->insertSeparator();
QString about;
about.sprintf(i18n("KDE Icon Editor\n\n"
"A graphics drawing program for creating\n"
"icons using the KDE icon palette\n\n"
"Copyright 1998 by Thomas Tanghus\n"
"tanghus@kde.org\n"
"http://w1.1358.telia.com/~u135800018"));
help = helpMenu(about.data());
menubar->insertItem(i18n("&Help"), help);
updateMenuAccel();
menubar->show();
//connect( menubar, SIGNAL(activated(int)), SLOT(slotActions(int)));
debug("setupMenuBar - done");
return true;
}
kiconedit'KIconEdit::updateMenuAccel() (./kdegraphics/kiconedit/kiconedit.cpp:514)
void KIconEdit::updateMenuAccel()
{
KAccel *keys = props(this)->keys; // = new KAccel( this );
CHECK_PTR(keys);
keys->changeMenuAccel(file, ID_FILE_NEWFILE, KStdAccel::New);
keys->changeMenuAccel(file, ID_FILE_OPEN, KStdAccel::Open);
keys->changeMenuAccel(file, ID_FILE_SAVE, KStdAccel::Save);
keys->changeMenuAccel(file, ID_FILE_PRINT, KStdAccel::Print);
keys->changeMenuAccel(file, ID_FILE_CLOSE, KStdAccel::Close);
keys->changeMenuAccel(file, ID_FILE_QUIT, KStdAccel::Quit);
keys->changeMenuAccel(edit, ID_EDIT_CUT, KStdAccel::Cut);
keys->changeMenuAccel(edit, ID_EDIT_COPY, KStdAccel::Copy);
keys->changeMenuAccel(edit, ID_EDIT_PASTE, KStdAccel::Paste);
keys->changeMenuAccel(edit, ID_EDIT_SELECT_ALL, "Select All");
}
kiconedit'KIconEdit::setupToolBar() (./kdegraphics/kiconedit/kiconedit.cpp:533)
bool KIconEdit::setupToolBar()
{
Properties *pprops = props(this);
debug("setupToolBar");
toolbar = new KToolBar(this);
CHECK_PTR(toolbar);
addToolBar(toolbar);
pprops->maintoolbar = toolbar;
QWidget *btwhat = (QWidget*)what->whatsThisButton(toolbar);
what = new QWhatsThis(btwhat);
QToolTip::add(btwhat, i18n("What is ...?"));
dragbutton = new KDragSource("image/x-xpm", grid, SLOT(getImage(QImage*)), toolbar);
dragbutton->setPixmap(BarIcon("image"));
QToolTip::add(dragbutton, i18n("Drag source"));
toolbar->insertWidget(-1, 22, dragbutton);
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("filenew"), ID_FILE_NEWFILE,
SIGNAL(clicked()), this, SLOT(slotNew()), TRUE, i18n("New File"));
toolbar->insertButton(BarIcon("fileopen"),ID_FILE_OPEN,
SIGNAL(clicked()), this, SLOT(slotOpen()), TRUE, i18n("Open a file"));
toolbar->insertButton(BarIcon("filefloppy"), ID_FILE_SAVE,
SIGNAL(clicked()), this, SLOT(slotSave()), TRUE, i18n("Save the file"));
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("fileprint"),ID_FILE_PRINT,
SIGNAL(clicked()), this, SLOT(slotPrint()), TRUE, i18n("Print icon"));
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("editcut"),ID_EDIT_CUT,
SIGNAL(clicked()), this, SLOT(slotCut()), TRUE, i18n("Cut"));
toolbar->insertButton(BarIcon("editcopy"),ID_EDIT_COPY,
SIGNAL(clicked()), this, SLOT(slotCopy()), TRUE, i18n("Copy"));
toolbar->insertButton(BarIcon("editpaste"),ID_EDIT_PASTE,
SIGNAL(clicked()), this, SLOT(slotPaste()), TRUE, i18n("Paste"));
select = new QPopupMenu;
CHECK_PTR(select);
select->insertItem(BarIcon("selectrect"), ID_SELECT_RECT);
select->insertItem(BarIcon("selectcircle"), ID_SELECT_CIRCLE);
connect( select, SIGNAL(activated(int)), SLOT(slotTools(int)));
toolbar->insertButton(BarIcon("areaselect"), ID_SELECT, select, true, i18n("Select area"));
//drawtoolbar->setToggle(ID_DRAW_SELECT, true);
toolbar->insertSeparator();
#if QT_VERSION >= 140
toolbar->insertButton(BarIcon("transform"),ID_IMAGE_RESIZE, TRUE,
i18n("Resize"));
#endif
toolbar->insertButton(BarIcon("grayscale"),ID_IMAGE_GRAYSCALE, TRUE,
i18n("GrayScale"));
/*
toolbar->insertButton(BarIcon("kdepalette"),ID_IMAGE_MAPTOKDE, TRUE,
i18n("To KDE palette"));
*/
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("viewmag-"),ID_VIEW_ZOOM_OUT, TRUE,
i18n("Zoom out"));
toolbar->setDelayedPopup(ID_VIEW_ZOOM_OUT, zoom);
toolbar->insertButton(BarIcon("viewmag+"),ID_VIEW_ZOOM_IN, TRUE,
i18n("Zoom in"));
toolbar->setDelayedPopup(ID_VIEW_ZOOM_IN, zoom);
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("grid"),ID_OPTIONS_TOGGLE_GRID, TRUE,
i18n("Toggle grid"));
toolbar->setToggle(ID_OPTIONS_TOGGLE_GRID, true);
if(pprops->showgrid)
((KToolBarButton*)toolbar->getButton(ID_OPTIONS_TOGGLE_GRID))->on(true);
toolbar->insertSeparator();
toolbar->insertWidget(ID_HELP_WHATSTHIS, btwhat->sizeHint().width(), btwhat);
toolbar->insertButton(BarIcon("newwin"),ID_FILE_NEWWIN,
SIGNAL(clicked()), this, SLOT(slotNewWin()), TRUE,
i18n("New Window"));
toolbar->alignItemRight( ID_FILE_NEWWIN, true);
toolbar->setIconText((KToolBar::IconText) pprops->maintoolbartext);
toolbar->setBarPos(pprops->maintoolbarpos);
if(pprops->maintoolbarstat)
toolbar->enable(KToolBar::Show);
else
toolbar->enable(KToolBar::Hide);
//toolbar->show();
connect( toolbar, SIGNAL(clicked(int)), SLOT(slotView(int)));
connect( toolbar, SIGNAL(clicked(int)), SLOT(slotImage(int)));
connect( toolbar, SIGNAL(clicked(int)), SLOT(slotConfigure(int)));
debug("setupToolBar - done");
return true;
}
kiconedit'KIconEdit::setupDrawToolBar() (./kdegraphics/kiconedit/kiconedit.cpp:628)
bool KIconEdit::setupDrawToolBar()
{
debug("setupDrawToolBar");
Properties *pprops = props(this);
drawtoolbar = new KToolBar(this);
CHECK_PTR(drawtoolbar);
addToolBar(drawtoolbar);
pprops->drawtoolbar = drawtoolbar;
drawtoolbar->setFullWidth();
drawtoolbar->insertButton(BarIcon("pointer"), ID_DRAW_FIND, TRUE, i18n("Find pixel"));
drawtoolbar->setToggle(ID_DRAW_FIND, true);
drawtoolbar->insertButton(BarIcon("paintbrush"), ID_DRAW_FREEHAND, TRUE, i18n("Draw freehand"));
drawtoolbar->setToggle(ID_DRAW_FREEHAND, true);
drawtoolbar->insertButton(BarIcon("line"), ID_DRAW_LINE, TRUE, i18n("Draw line"));
drawtoolbar->setToggle(ID_DRAW_LINE, true);
drawtoolbar->insertButton(BarIcon("rectangle"),ID_DRAW_RECT, TRUE, i18n("Draw rectangle"));
drawtoolbar->setToggle(ID_DRAW_RECT, true);
drawtoolbar->insertButton(BarIcon("filledrectangle"),ID_DRAW_RECT_FILL, TRUE, i18n("Draw filled rectangle"));
drawtoolbar->setToggle(ID_DRAW_RECT_FILL, true);
drawtoolbar->insertButton(BarIcon("circle"),ID_DRAW_CIRCLE, TRUE, i18n("Draw circle"));
drawtoolbar->setToggle(ID_DRAW_CIRCLE, true);
drawtoolbar->insertButton(BarIcon("filledcircle"),ID_DRAW_CIRCLE_FILL, TRUE, i18n("Draw filled circle"));
drawtoolbar->setToggle(ID_DRAW_CIRCLE_FILL, true);
drawtoolbar->insertButton(BarIcon("ellipse"),ID_DRAW_ELLIPSE, TRUE, i18n("Draw ellipse"));
drawtoolbar->setToggle(ID_DRAW_ELLIPSE, true);
drawtoolbar->insertButton(BarIcon("filledellipse"),ID_DRAW_ELLIPSE_FILL, TRUE, i18n("Draw filled ellipse"));
drawtoolbar->setToggle(ID_DRAW_ELLIPSE_FILL, true);
drawtoolbar->insertButton(BarIcon("spraycan"),ID_DRAW_SPRAY, TRUE, i18n("Spray"));
drawtoolbar->setToggle(ID_DRAW_SPRAY, true);
drawtoolbar->insertButton(BarIcon("flood"),ID_DRAW_FILL, TRUE, i18n("Flood fill"));
drawtoolbar->setToggle(ID_DRAW_FILL, true);
drawtoolbar->setToggle(ID_DRAW_SPRAY, true);
drawtoolbar->insertButton(BarIcon("eraser"),ID_DRAW_ERASE, TRUE, i18n("Erase"));
drawtoolbar->setToggle(ID_DRAW_ERASE, true);
drawtoolbar->setIconText((KToolBar::IconText) pprops->drawtoolbartext);
drawtoolbar->setBarPos(pprops->drawtoolbarpos);
if(pprops->drawtoolbarstat)
drawtoolbar->enable(KToolBar::Show);
else
drawtoolbar->enable(KToolBar::Hide);
//drawtoolbar->show();
connect( drawtoolbar, SIGNAL(clicked(int)), SLOT(slotTools(int)));
debug("setupDrawToolBar - done");
return true;
}
kiconedit'KIconEdit::setupPaletteToolBar() (./kdegraphics/kiconedit/kiconedit.cpp:678)
bool KIconEdit::setupPaletteToolBar()
{
//Properties *pprops = props(this);
QWidget *w = new QWidget(this);
QBoxLayout *ml = new QVBoxLayout(w);
QLabel *l = new QLabel(i18n("System Colors"), w);
//l->setFixedSize(l->sizeHint());
syscolors = new KSysColors(w);
//syscolors->setFixedSize(syscolors->width(), syscolors->height());
ml->addWidget(l);
ml->addWidget(syscolors);
int ow = w->sizeHint().width();
int iw = syscolors->width();
palettetoolbar = new KToolBar(this, 0, ow+8);
CHECK_PTR(palettetoolbar);
addToolBar(palettetoolbar);
palettetoolbar->enable(KToolBar::Show);
palettetoolbar->setBarPos(KToolBar::Right);
w->recreate(palettetoolbar, 0, QPoint(0, 0));
preview = new Preview(palettetoolbar);
preview->setFrameStyle(QFrame::Panel|QFrame::Sunken);
//preview->setFixedSize(iw, 60);
palettetoolbar->insertWidget(ID_PREVIEW, iw, preview);
palettetoolbar->insertSeparator();
palettetoolbar->insertWidget(ID_SYSTEM_COLORS, iw, w);
palettetoolbar->insertSeparator();
w = new QWidget(palettetoolbar);
ml = new QVBoxLayout(w);
l = new QLabel(i18n("Custom Colors"), w);
//l->setFixedSize(l->sizeHint());
customcolors = new KCustomColors(w);
//customcolors->setFixedSize(iw, customcolors->height());
ml->addWidget(l);
ml->addWidget(customcolors);
palettetoolbar->insertWidget(ID_CUSTOM_COLORS, iw, w);
return true;
}
kiconedit'KIconEdit::setupStatusBar() (./kdegraphics/kiconedit/kiconedit.cpp:725)
bool KIconEdit::setupStatusBar()
{
Properties *pprops = props(this);
statusbar = new KStatusBar(this);
CHECK_PTR(statusbar);
setStatusBar(statusbar);
pprops->statusbar = statusbar;
statusbar->insertItem(" -1, -1 ", 0);
statusbar->insertItem(" 32 x 32 ", 1);
statusbar->insertItem(" 1:1000 ", 2);
statusbar->insertItem("Colors: ", 3);
statusbar->insertItem("", 4);
if(pprops->statusbarstat)
statusbar->show();
else
statusbar->hide();
return true;
}
kiconedit'KIconEdit::setupWhatsThis() (./kdegraphics/kiconedit/kiconedit.cpp:746)
bool KIconEdit::setupWhatsThis()
{ // QWhatsThis *what is created in setupToolbar
debug("setupWhatsThis");
// Create help for the custom widgets
QString str = i18n("Icon draw grid\n\nThe icon grid is the area where you draw the icons.\n"
"You can zoom in and out using the magnifying glasses on the toolbar.\n"
"(Tip: Hold the magnify button down for a few seconds to zoom to a predefined scale");
what->add(grid, str);
str = i18n("Rulers\n\nThis is a visual represantation of the current cursor position");
what->add(gridview->hruler(), str.data());
what->add(gridview->vruler(), str.data());
str = i18n("Statusbar\n\nThe statusbar gives information of the status "
"of the current icon. The fields are:\n\n"
"\t- Cursor position\n"
"\t- Size\n"
"\t- Zoom factor\n"
"\t- Number of colors\n"
"\t- Application messages");
what->add(statusbar, str.data());
str = i18n("Preview\n\nThis is a 1:1 preview of the current icon");
what->add(preview, str.data());
str = i18n("System colors\n\nHere you can select colors from the KDE Icon Palette.");
what->add(syscolors, str.data());
str = i18n("Custom colors\n\nHere you can build a palette of custom colors.\n"
"Just double-click on a box to edit the color");
what->add(customcolors, str.data());
// Create help for the main toolbar
str = i18n("New\n\nCreate a new icon either from a template or by specifying the size");
what->add(toolbar->getButton(ID_FILE_NEWFILE), str.data());
str = i18n("Open\n\nOpen an existing icon");
what->add(toolbar->getButton(ID_FILE_OPEN), str.data());
str = i18n("Save\n\nSave the current icon");
what->add(toolbar->getButton(ID_FILE_SAVE), str.data());
str = i18n("Print\n\nOpens a print dialog to let you print the current icon."
" (Doesn't realy work as expected");
what->add(toolbar->getButton(ID_FILE_PRINT), str.data());
str = i18n("Cut\n\nCut the current selection out of the icon\n\n"
"(Tip: You can make both rectangular and circular selections)");
what->add(toolbar->getButton(ID_EDIT_CUT), str.data());
str = i18n("Copy\n\nCopy the current selection out of the icon\n\n"
"(Tip: You can make both rectangular and circular selections)");
what->add(toolbar->getButton(ID_EDIT_COPY), str.data());
str = i18n("Paste\n\nPaste the contents of the clipboard into the current icon.\n\n"
"If the contents is larger than the current icon you can paste it"
" in a new window.\n\n"
"(Tip: Select \"Paste transparent pixels\" in the configuration dialog"
" if you also want to paste transparent)");
what->add(toolbar->getButton(ID_EDIT_PASTE), str.data());
str = i18n("Select\n\nSelect a section of the icon using the mouse.\n\n"
"(Tip: You can make both rectangular and circular selections)");
what->add(toolbar->getButton(ID_SELECT), str.data());
str = i18n("Resize\n\nSmoothly resizes the icon while trying to preserve the contents");
what->add(toolbar->getButton(ID_IMAGE_RESIZE), str.data());
str = i18n("Gray scale\n\nGray scale the current icon.\n"
"(Warning: The result is likely to contain colors not in the icon palette");
what->add(toolbar->getButton(ID_IMAGE_GRAYSCALE), str.data());
str = i18n("Zoom out\n\nZoom out by one.\n\n"
"(Tip: Hold the button down for a few seconds to zoom to a predefined scale");
what->add(toolbar->getButton(ID_VIEW_ZOOM_OUT), str.data());
str = i18n("Zoom in\n\nZoom in by one.\n\n"
"(Tip: Hold the button down for a few seconds to zoom to a predefined scale");
what->add(toolbar->getButton(ID_VIEW_ZOOM_IN), str.data());
str = i18n("Toggle grid\n\nToggles the grid in the icon edit grid on/off");
what->add(toolbar->getButton(ID_OPTIONS_TOGGLE_GRID), str.data());
str = i18n("New window\n\nOpens a new Icon Editor window.");
what->add(toolbar->getButton(ID_FILE_NEWWIN), str.data());
str = i18n("Whats is...?\n\nWell since you're reading this I guess you found out ;-)");
what->add(toolbar->getButton(ID_HELP_WHATSTHIS), str.data());
str = i18n("Drag source\n\nFrom this button you can drag out a copy of the current icon"
" and drop it on a drop enabled window, eg. another Icon Editor.\n\n"
"(Note: The drag source uses the QT XDND protocol which is not"
" yet standard in KDE)");
what->add(dragbutton, str.data());
// Setup help for the tools toolbar
str = i18n("Free hand\n\nDraw non-linear lines");
what->add(drawtoolbar->getButton(ID_DRAW_FREEHAND), str.data());
str = i18n("Flood fill\n\nFill adjoining pixels with the same color with the current color");
what->add(drawtoolbar->getButton(ID_DRAW_FILL), str.data());
str = i18n("Rectangle\n\nDraw a rectangle");
what->add(drawtoolbar->getButton(ID_DRAW_RECT), str.data());
str = i18n("Filled rectangle\n\nDraw a filled rectangle");
what->add(drawtoolbar->getButton(ID_DRAW_RECT_FILL), str.data());
str = i18n("Circle\n\nDraw a circle");
what->add(drawtoolbar->getButton(ID_DRAW_CIRCLE), str.data());
str = i18n("Filled circle\n\nDraw a filled circle");
what->add(drawtoolbar->getButton(ID_DRAW_CIRCLE_FILL), str.data());
str = i18n("Ellipse\n\nDraw an ellipse");
what->add(drawtoolbar->getButton(ID_DRAW_ELLIPSE), str.data());
str = i18n("Filled ellipse\n\nDraw a filled ellipse");
what->add(drawtoolbar->getButton(ID_DRAW_ELLIPSE_FILL), str.data());
str = i18n("Line\n\nDraw a straight line vertically, horizontically or in 45 dgr. angles");
what->add(drawtoolbar->getButton(ID_DRAW_LINE), str.data());
str = i18n("Spray\n\nDraw scattered pixels in the current color");
what->add(drawtoolbar->getButton(ID_DRAW_SPRAY), str.data());
str = i18n("Find\n\nThe color of the pixel clicked on will be the current drawcolor");
what->add(drawtoolbar->getButton(ID_DRAW_FIND), str.data());
str = i18n("Erase\n\nErase pixels. Set the pixels to be transparent\n\n"
"(Tip: If you want to draw transparent with a different tool"
" then first click on \"Erase\" then on the tool you want to use)");
what->add(drawtoolbar->getButton(ID_DRAW_ERASE), str.data());
debug("setupWhatsThis - done");
return true;
}
kiconedit'KIconEdit::addRecent() (./kdegraphics/kiconedit/kiconedit.cpp:889)
void KIconEdit::addRecent(const char *filename)
{
QString str = filename;
//debug("addRecent - checking %s", filename);
Properties *pprops = props(this);
if(str.isEmpty() || pprops->recentlist->contains(filename))
return;
//debug("addRecent - adding %s", filename);
if( pprops->recentlist->count() < 5)
pprops->recentlist->insert(0,filename);
else
{
pprops->recentlist->remove(4);
pprops->recentlist->insert(0,filename);
}
recent->clear();
for ( int i = 0 ;i < (int)pprops->recentlist->count(); i++)
recent->insertItem(pprops->recentlist->at(i));
file->setItemEnabled(ID_FILE_RECENT, true);
//debug("addRecent - done");
}
kiconedit'KIconEdit::toggleTool() (./kdegraphics/kiconedit/kiconedit.cpp:915)
void KIconEdit::toggleTool(int id)
{
for(int i = ID_DRAW_FREEHAND; i <= ID_DRAW_ERASE; i++)
{
if(i != id)
{
if(tools->isItemChecked(i))
tools->setItemChecked(i, false);
if(drawtoolbar->isButtonOn(i));
drawtoolbar->setButton(i, false);
//((KToolBarButton*)drawtoolbar->getButton(i))->on(false);
}
else
{
tools->setItemChecked(i, true);
if(!drawtoolbar->isButtonOn(i));
//((KToolBarButton*)drawtoolbar->getButton(i))->on(true);
drawtoolbar->setButton(i, true);
}
}
}
kiconedit'KIconEdit::addColors() (./kdegraphics/kiconedit/kiconeditslots.cpp:37)
void KIconEdit::addColors(uint n, uint *c)
{
//debug("KIconTools::addColors()");
customcolors->clear();
for(uint i = 0; i < n; i++)
addColor(c[i]);
}
kiconedit'KIconEdit::addColor() (./kdegraphics/kiconedit/kiconeditslots.cpp:45)
void KIconEdit::addColor(uint color)
{
//debug("KIconTools::addColor()");
if(!syscolors->contains(color))
customcolors->addColor(color);
}
kiconedit'KIconEdit::slotNewWin() (./kdegraphics/kiconedit/kiconeditslots.cpp:52)
void KIconEdit::slotNewWin()
{
slotNewWin((const char*)0);
}
kiconedit'KIconEdit::slotNewWin() (./kdegraphics/kiconedit/kiconeditslots.cpp:57)
void KIconEdit::slotNewWin(const char *url)
{
debug("KIconEdit::openNewWin() - %s", url);
KIconEdit *w = new KIconEdit(url, "kiconedit");
CHECK_PTR(w);
}
kiconedit'KIconEdit::slotNew() (./kdegraphics/kiconedit/kiconeditslots.cpp:64)
void KIconEdit::slotNew()
{
bool cancel = false;
if (grid->isModified())
{
int r = KMessageBox::warningYesNoCancel(this,
i18n("The current file has been modified.\nDo you want to save it?"));
switch(r)
{
case 0:
icon->save(&grid->image());
break;
case 1:
break;
case 2:
cancel = true;
break;
default:
break;
}
}
if(!cancel)
{
KNewIcon newicon(this);
if(newicon.exec())
{
int r = newicon.openStyle();
if(r == KNewIcon::Blank)
{
grid->editClear();
const QSize s = newicon.templateSize();
debug("Size: %d x %d", s.width(), s.height());
grid->setSize(s);
grid->setModified(false);
icon->cleanup();
}
else if(r == KNewIcon::Template)
{
QString str = newicon.templatePath();
icon->open(&grid->image(), str.data());
icon->cleanup();
}
}
}
}
kiconedit'KIconEdit::slotOpen() (./kdegraphics/kiconedit/kiconeditslots.cpp:110)
void KIconEdit::slotOpen()
{
bool cancel = false;
if( grid->isModified() )
{
int r = KMessageBox::warningYesNoCancel(this, i18n("The current file has been modified.\nDo you want to save it?"));
switch( r )
{
case 0:
icon->save( &grid->image() );
break;
case 1:
break;
case 2:
cancel = true;
break;
default:
break;
}
}
if( !cancel )
icon->promptForFile( &grid->image() );
}
kiconedit'KIconEdit::slotClose() (./kdegraphics/kiconedit/kiconeditslots.cpp:135)
void KIconEdit::slotClose()
{
close();
}
kiconedit'KIconEdit::slotQuit() (./kdegraphics/kiconedit/kiconeditslots.cpp:140)
void KIconEdit::slotQuit()
{
debug("KIconEdit: Closing %u windows", memberList->count());
KIconEdit *ki = 0L;
while((ki = (KIconEdit*)memberList->getFirst()) != 0)
{
CHECK_PTR(ki);
memberList->getFirst()->close();
}
}
kiconedit'KIconEdit::slotSave() (./kdegraphics/kiconedit/kiconeditslots.cpp:151)
void KIconEdit::slotSave()
{
debug("KIconEdit: Saving %s", icon->url().data());
icon->save(&grid->image());
}
kiconedit'KIconEdit::slotSaveAs() (./kdegraphics/kiconedit/kiconeditslots.cpp:157)
void KIconEdit::slotSaveAs()
{
debug("KIconEdit: Saving %s", icon->url().data());
icon->saveAs(&grid->image());
}
kiconedit'KIconEdit::slotPrint() (./kdegraphics/kiconedit/kiconeditslots.cpp:163)
void KIconEdit::slotPrint()
{
file->setItemEnabled(ID_FILE_PRINT, false);
toolbar->setItemEnabled(ID_FILE_PRINT, false);
if ( QPrintDialog::getPrinterSetup(printer) )
{
int margin = 10, yPos = 0;
printer->setCreator("KDE Icon Editor");
QPainter p;
p.begin( printer );
QFontMetrics fm = p.fontMetrics();
QPaintDeviceMetrics metrics( printer ); // need width/height
p.drawText( margin, margin + yPos, metrics.width(), fm.lineSpacing(),
ExpandTabs | DontClip, icon->url().data() );
yPos = yPos + fm.lineSpacing();
p.drawPixmap( margin, margin + yPos, grid->pixmap() );
p.end();
}
file->setItemEnabled(ID_FILE_PRINT, true);
toolbar->setItemEnabled(ID_FILE_PRINT, true);
}
kiconedit'KIconEdit::slotView() (./kdegraphics/kiconedit/kiconeditslots.cpp:187)
void KIconEdit::slotView( int id )
{
switch(id)
{
case ID_VIEW_ZOOM_1TO1:
//slotUpdateStatusScaling(1, false);
grid->zoomTo(1);
//slotUpdateStatusScaling(1, true);
toolbar->setItemEnabled(ID_VIEW_ZOOM_OUT, false);
view->setItemEnabled(ID_VIEW_ZOOM_OUT, false);
break;
case ID_VIEW_ZOOM_1TO5:
//slotUpdateStatusScaling(5, false);
grid->zoomTo(5);
//slotUpdateStatusScaling(5, true);
break;
case ID_VIEW_ZOOM_1TO10:
//slotUpdateStatusScaling(10, false);
grid->zoomTo(10);
//slotUpdateStatusScaling(10, true);
break;
case ID_VIEW_ZOOM_OUT:
if(!grid->zoom(Out))
{
toolbar->setItemEnabled(ID_VIEW_ZOOM_OUT, false);
view->setItemEnabled(ID_VIEW_ZOOM_OUT, false);
}
break;
case ID_VIEW_ZOOM_IN:
grid->zoom(In);
toolbar->setItemEnabled(ID_VIEW_ZOOM_OUT, true);
view->setItemEnabled(ID_VIEW_ZOOM_OUT, true);
break;
default:
break;
}
}
kiconedit'KIconEdit::slotCopy() (./kdegraphics/kiconedit/kiconeditslots.cpp:225)
void KIconEdit::slotCopy()
{
grid->editCopy();
}
kiconedit'KIconEdit::slotCut() (./kdegraphics/kiconedit/kiconeditslots.cpp:230)
void KIconEdit::slotCut()
{
grid->editCopy(true);
}
kiconedit'KIconEdit::slotPaste() (./kdegraphics/kiconedit/kiconeditslots.cpp:235)
void KIconEdit::slotPaste()
{
toggleTool(ID_DRAW_FIND);
grid->setTool(KIconEditGrid::Find);
grid->editPaste();
}
kiconedit'KIconEdit::slotClear() (./kdegraphics/kiconedit/kiconeditslots.cpp:242)
void KIconEdit::slotClear()
{
grid->editClear();
}
kiconedit'KIconEdit::slotSelectAll() (./kdegraphics/kiconedit/kiconeditslots.cpp:247)
void KIconEdit::slotSelectAll()
{
//toggleTool(ID_DRAW_SELECT);
grid->setTool(KIconEditGrid::SelectRect);
grid->editSelectAll();
}
kiconedit'KIconEdit::slotOpenRecent() (./kdegraphics/kiconedit/kiconeditslots.cpp:254)
void KIconEdit::slotOpenRecent(int id)
{
debug("Opening recent file: %d", id);
Properties *pprops = props(this);
debug("Recent: %s", pprops->recentlist->at((uint)id));
icon->open(&grid->image(), pprops->recentlist->at(id));
}
kiconedit'KIconEdit::slotConfigure() (./kdegraphics/kiconedit/kiconeditslots.cpp:262)
void KIconEdit::slotConfigure(int id)
{
switch(id)
{
case ID_OPTIONS_CONFIGURE:
{
KIconConfig c(this);
if(c.exec())
{
Properties *pprops = props(this);
updateMenuAccel();
gridview->setShowRulers(pprops->showrulers);
if(pprops->backgroundmode == QWidget::FixedPixmap)
{
QPixmap pix(pprops->backgroundpixmap.data());
if(pix.isNull())
{
QPixmap pmlogo((const char**)logo);
pix = pmlogo;
}
//viewport->viewport()->setBackgroundPixmap(pix);
}
//else
//viewport->viewport()->setBackgroundColor(pprops->backgroundcolor);
}
//KKeyDialog::configureKeys( keys );
break;
}
case ID_OPTIONS_TOGGLE_GRID:
if(options->isItemChecked(ID_OPTIONS_TOGGLE_GRID))
{
options->setItemChecked(ID_OPTIONS_TOGGLE_GRID, false);
((KToolBarButton*)toolbar->getButton(ID_OPTIONS_TOGGLE_GRID))->on(false);
//toolbar->setButton(ID_OPTIONS_TOGGLE_GRID, false);
props(this)->showgrid = false;
grid->setGrid(false);
}
else
{
options->setItemChecked(ID_OPTIONS_TOGGLE_GRID, true);
((KToolBarButton*)toolbar->getButton(ID_OPTIONS_TOGGLE_GRID))->on(true);
//toolbar->setButton(ID_OPTIONS_TOGGLE_GRID, true);
props(this)->showgrid = true;
grid->setGrid(true);
}
break;
case ID_OPTIONS_TOGGLE_TOOL1:
if(options->isItemChecked(ID_OPTIONS_TOGGLE_TOOL1))
options->setItemChecked(ID_OPTIONS_TOGGLE_TOOL1, false);
else
options->setItemChecked(ID_OPTIONS_TOGGLE_TOOL1, true);
enableToolBar(KToolBar::Toggle, 0);
break;
case ID_OPTIONS_TOGGLE_TOOL2:
if(options->isItemChecked(ID_OPTIONS_TOGGLE_TOOL2))
options->setItemChecked(ID_OPTIONS_TOGGLE_TOOL2, false);
else
options->setItemChecked(ID_OPTIONS_TOGGLE_TOOL2, true);
enableToolBar(KToolBar::Toggle, 1);
break;
case ID_OPTIONS_TOGGLE_STATS:
if(options->isItemChecked(ID_OPTIONS_TOGGLE_STATS))
options->setItemChecked(ID_OPTIONS_TOGGLE_STATS, false);
else
options->setItemChecked(ID_OPTIONS_TOGGLE_STATS, true);
enableStatusBar();
break;
case ID_OPTIONS_SAVE:
writeConfig();
break;
default:
break;
}
}
kiconedit'KIconEdit::slotTools() (./kdegraphics/kiconedit/kiconeditslots.cpp:337)
void KIconEdit::slotTools( int id )
{
switch(id)
{
case ID_SELECT_RECT:
grid->setTool(KIconEditGrid::SelectRect);
break;
case ID_SELECT_CIRCLE:
grid->setTool(KIconEditGrid::SelectCircle);
break;
case ID_DRAW_FREEHAND:
toggleTool(id);
grid->setTool(KIconEditGrid::Freehand);
break;
case ID_DRAW_ELLIPSE:
toggleTool(id);
grid->setTool(KIconEditGrid::Ellipse);
break;
case ID_DRAW_ELLIPSE_FILL:
toggleTool(id);
grid->setTool(KIconEditGrid::FilledEllipse);
break;
case ID_DRAW_CIRCLE:
toggleTool(id);
grid->setTool(KIconEditGrid::Circle);
break;
case ID_DRAW_CIRCLE_FILL:
toggleTool(id);
grid->setTool(KIconEditGrid::FilledCircle);
break;
case ID_DRAW_RECT:
toggleTool(id);
grid->setTool(KIconEditGrid::Rect);
break;
case ID_DRAW_RECT_FILL:
toggleTool(id);
grid->setTool(KIconEditGrid::FilledRect);
break;
case ID_DRAW_ERASE:
toggleTool(id);
grid->setTool(KIconEditGrid::Eraser);
break;
case ID_DRAW_LINE:
toggleTool(id);
grid->setTool(KIconEditGrid::Line);
break;
case ID_DRAW_FIND:
toggleTool(id);
grid->setTool(KIconEditGrid::Find);
break;
case ID_DRAW_FILL:
toggleTool(id);
grid->setTool(KIconEditGrid::FloodFill);
break;
//case ID_DRAW_SELECT:
case ID_DRAW_SPRAY:
toggleTool(id);
grid->setTool(KIconEditGrid::Spray);
break;
default:
if(id >= 500 && id <= 600)
KMessageBox::sorry(this, i18n("Sorry - not implemented."));
break;
}
}
kiconedit'KIconEdit::slotImage() (./kdegraphics/kiconedit/kiconeditslots.cpp:403)
void KIconEdit::slotImage( int id )
{
switch(id)
{
#if QT_VERSION >= 140
case ID_IMAGE_RESIZE:
grid->editResize();
break;
#endif
case ID_IMAGE_GRAYSCALE:
grid->grayScale();
break;
case ID_IMAGE_MAPTOKDE:
grid->mapToKDEPalette();
break;
default:
break;
}
}
kiconedit'KIconEdit::slotSaved() (./kdegraphics/kiconedit/kiconeditslots.cpp:423)
void KIconEdit::slotSaved()
{
grid->setModified(false);
}
kiconedit'KIconEdit::slotUpdateStatusPos() (./kdegraphics/kiconedit/kiconeditslots.cpp:428)
void KIconEdit::slotUpdateStatusPos(int x, int y)
{
QString str;
str.sprintf("%d, %d", x, y);
statusbar->changeItem( str.data(), 0);
}
kiconedit'KIconEdit::slotUpdateStatusSize() (./kdegraphics/kiconedit/kiconeditslots.cpp:435)
void KIconEdit::slotUpdateStatusSize(int x, int y)
{
QString str;
str.sprintf("%d x %d", x, y);
statusbar->changeItem( str.data(), 1);
//viewport->updateScrollBars();
}
kiconedit'KIconEdit::slotUpdateStatusScaling() (./kdegraphics/kiconedit/kiconeditslots.cpp:443)
void KIconEdit::slotUpdateStatusScaling(int s, bool show)
{
props(this)->gridscaling = s;
QString str;
if(show)
{
toolbar->setItemEnabled(ID_VIEW_ZOOM_IN, true);
toolbar->setItemEnabled(ID_VIEW_ZOOM_OUT, true);
}
else
{
toolbar->setItemEnabled(ID_VIEW_ZOOM_IN, false);
toolbar->setItemEnabled(ID_VIEW_ZOOM_OUT, false);
}
str.sprintf("1:%d", s);
statusbar->changeItem( str.data(), 2);
//viewport->updateScrollBars();
}
kiconedit'KIconEdit::slotUpdateStatusColors() (./kdegraphics/kiconedit/kiconeditslots.cpp:463)
void KIconEdit::slotUpdateStatusColors(uint)
{
QString str;
str.sprintf(i18n("Colors: %u"), grid->numColors());
statusbar->changeItem( str.data(), 3);
}
kiconedit'KIconEdit::slotUpdateStatusColors() (./kdegraphics/kiconedit/kiconeditslots.cpp:470)
void KIconEdit::slotUpdateStatusColors(uint n, uint *)
{
QString str;
str.sprintf(i18n("Colors: %u"), n);
statusbar->changeItem( str.data(), 3);
}
kiconedit'KIconEdit::slotUpdateStatusMessage() (./kdegraphics/kiconedit/kiconeditslots.cpp:477)
void KIconEdit::slotUpdateStatusMessage(const char *msg)
{
msgtimer->start(10000, true);
statusbar->changeItem( msg, 4);
}
kiconedit'KIconEdit::slotClearStatusMessage() (./kdegraphics/kiconedit/kiconeditslots.cpp:483)
void KIconEdit::slotClearStatusMessage()
{
statusbar->changeItem( "", 4);
}
kiconedit'KIconEdit::slotUpdateStatusName() (./kdegraphics/kiconedit/kiconeditslots.cpp:488)
void KIconEdit::slotUpdateStatusName(const char *name)
{
QString cap = "", str = name;
if(!str.isEmpty())
{
cap += name;
cap += " - ";
addRecent(name);
}
cap += kapp->caption();
setCaption(cap.data());
}
kiconedit'KIconEdit::slotUpdatePaste() (./kdegraphics/kiconedit/kiconeditslots.cpp:501)
void KIconEdit::slotUpdatePaste(bool state)
{
edit->setItemEnabled(ID_EDIT_PASTE, state);
toolbar->setItemEnabled(ID_EDIT_PASTE, state);
edit->setItemEnabled(ID_EDIT_PASTE_AS_NEW, state);
toolbar->setItemEnabled(ID_EDIT_PASTE_AS_NEW, state);
}
kiconedit'KIconEdit::slotUpdateCopy() (./kdegraphics/kiconedit/kiconeditslots.cpp:509)
void KIconEdit::slotUpdateCopy(bool state)
{
edit->setItemEnabled(ID_EDIT_COPY, state);
toolbar->setItemEnabled(ID_EDIT_COPY, state);
edit->setItemEnabled(ID_EDIT_CUT, state);
toolbar->setItemEnabled(ID_EDIT_CUT, state);
}
kiconedit'KIconEdit::slotOpenBlank() (./kdegraphics/kiconedit/kiconeditslots.cpp:517)
void KIconEdit::slotOpenBlank(const QSize s)
{
icon->cleanup();
grid->loadBlank( s.width(), s.height());
}
#if 0
void KIconEdit::slotDropEvent( KDNDDropZone * _dropZone )
{
debug("KIconEdit::slotDropEvent");
QStrList & list = _dropZone->getURLList();
char *s;
bool loadedinthis = false;
for ( s = list.first(); s != 0L; s = list.next() )
{
// Load the first file in this window
debug("KIconEdit:slotDropEvent - %s", s);
//s == list.getFirst();
if (!grid->isModified() && !loadedinthis)
{
icon->open( &grid->image(), s );
loadedinthis = true;
}
else
{
slotNewWin(s);
}
}
}
kiconedit'KIconEdit::slotQDropEvent() (./kdegraphics/kiconedit/kiconeditslots.cpp:551)
void KIconEdit::slotQDropEvent( QDropEvent *e )
{
debug("Got QDropEvent!");
gridview->setAcceptDrop(false);
QImage image;
QStrList list;
char *s;
bool loadedinthis = false;
if ( QImageDrag::decode( e, image ) )
{
debug("Image decoded");
if(!image.isNull())
{
image = image.convertDepth(32);
//image.setAlphaBuffer(true);
for(int y = 0; y < image.height(); y++)
{
uint *l = (uint*)image.scanLine(y);
for(int x = 0; x < image.width(); x++, l++)
{
if(*l < OPAQUE_MASK) // the dnd encoding stuff turns off the opaque bits
{
*l = *l | OPAQUE_MASK;
}
}
}
grid->load(&image);
}
else
debug("Image is invalid");
}
#if QT_VERSION > 140
else if(QUrlDrag::decode( e, list ) )
{
for ( s = list.first(); s != 0L; s = list.next() )
{
// Load the first file in this window
debug("KIconEdit:slotQDropEvent - %s", s);
//s == list.getFirst();
if (!grid->isModified() && !loadedinthis)
{
icon->open( &grid->image(), s );
loadedinthis = true;
}
else
{
slotNewWin(s);
}
}
}
#endif
}
kiconedit'KIconEdit::slotQDragLeaveEvent() (./kdegraphics/kiconedit/kiconeditslots.cpp:605)
void KIconEdit::slotQDragLeaveEvent( QDragLeaveEvent * /*e*/ )
{
debug("Got QDragLeaveEvent!");
gridview->setAcceptDrop(false);
}
kiconedit'KIconEdit::slotQDragEnterEvent() (./kdegraphics/kiconedit/kiconeditslots.cpp:611)
void KIconEdit::slotQDragEnterEvent( QDragEnterEvent *e )
{
debug("Got QDragEnterEvent!");
if( QImageDrag::canDecode( e ) )
{
e->accept();
gridview->setAcceptDrop(true);
}
#if QT_VERSION > 140
else if( QUrlDrag::canDecode( e ) )
{
gridview->setAcceptDrop(true);
e->accept();
}
#endif
else
e->ignore();
}