#ifndef __KDesktopIface_h__ #define __KDesktopIface_h__ #include #include #include class KDesktopIface : public DCOPObject { K_DCOP public: KDesktopIface() : DCOPObject("KDesktopIface") {} k_dcop: /** * @internal */ virtual void runAutoStart() = 0; /** * Re-arrange the desktop icons. */ virtual void rearrangeIcons() = 0; /** * @deprecated */ void rearrangeIcons( bool ) { rearrangeIcons(); } /** * Lineup the desktop icons. */ virtual void lineupIcons() = 0; /** * Select all icons */ virtual void selectAll() = 0; /** * Unselect all icons */ virtual void unselectAll() = 0; /** * Refresh all icons */ virtual void refreshIcons() = 0; /** * Set show desktop state */ virtual void setShowDesktop( bool b ) = 0; /** * @return the show desktop state */ virtual bool showDesktopState() = 0; /** * Toggle show desktop state */ virtual void toggleShowDesktop() = 0; /** * @return the urls of selected icons */ virtual TQStringList selectedURLs() = 0; /** * Re-read KDesktop's configuration */ virtual void configure() = 0; /** * Display the "Run Command" dialog (minicli) */ virtual void popupExecuteCommand() = 0; /** * Display the "Run Command" dialog (minicli) and prefill * @since 3.4 */ virtual void popupExecuteCommand(const TQString& command) = 0; /** * Get the background dcop interface (KBackgroundIface) */ DCOPRef background() { return DCOPRef( "kdesktop", "KBackgroundIface" ); } /** * Get the screensaver dcop interface (KScreensaverIface) */ DCOPRef screenSaver() { return DCOPRef( "kdesktop", "KScreensaverIface" ); } /** * Full refresh */ virtual void refresh() = 0; /** * Bye bye */ virtual void logout() = 0; /** * Returns whether KDesktop uses a virtual root. */ virtual bool isVRoot() = 0; /** * Set whether KDesktop should use a virtual root. */ virtual void setVRoot( bool enable )= 0; /** * Clears the command history and completion items */ virtual void clearCommandHistory() = 0; /** * Returns whether icons are enabled on the desktop */ virtual bool isIconsEnabled() = 0; /** * Disable icons on the desktop. */ virtual void setIconsEnabled( bool enable )= 0; /** * Should be called by any application that wants to tell KDesktop * to switch desktops e.g. the minipager applet on kicker. */ virtual void switchDesktops( int delta ) = 0; /** * slot for kicker; called when the number or size of panels change the available * space for desktop icons */ virtual void desktopIconsAreaChanged(const TQRect &area, int screen) = 0; /** * Find the next free place for a not yet existing icon, so it fits * in the user arrangement. Basicly prepare for icons to be moved in. * It will try to find a place in the virtual grid near col,row * where no other icon is. * * If you specify -1 for row or column, it will try to find the next * free room where no other icon follows. E.g. if you specify column * = -1 and row = 0, kdesktop will find the next vertical placement * so that the icon appears at the end of the existing icons preferable * in the first column. If the first column is full, it will find the * next free room in the second column. * * If you specify both column and row, kdesktop won't care for aligning, * or surrounding icons, but try to find the free place near the given * grid place (e.g. specify 0,0 to find the nearest place in the left * upper corner). */ virtual TQPoint findPlaceForIcon( int column, int row) = 0; /// copy the desktop file in the Desktop and place it at x, y virtual void addIcon(const TQString &url, int x, int y) = 0; /// same with specific destination virtual void addIcon(const TQString &url, const TQString &dest, int x, int y) = 0; /// remove the desktop file (either full path or relative) virtual void removeIcon(const TQString &dest) = 0; }; #endif