28 #include <qapplication.h>
33 #include <type_traits>
36 #include <yui/YSimpleEventHandler.h>
37 #include <yui/YCommandLine.h>
39 #define YQWidgetMargin 4
40 #define YQWidgetSpacing 4
41 #define YQButtonBorder 3
47 #define pclass(ptr) std::remove_reference<decltype(*ptr)>::type
73 YQUI(
bool withThreads,
bool topmostConstructor =
true );
114 virtual YApplication * createApplication();
143 {
return _eventHandler.eventPendingFor( widget ); }
309 QIcon
loadIcon(
const string & iconName )
const;
335 virtual void idleLoop(
int fd_ycp );
362 QMap<QString, int> screenShotNo;
369 bool _received_ycp_command;
372 QTimer * _busyCursorTimer;
374 YSimpleEventHandler _eventHandler;
377 bool _leftHandedMouse;
378 bool _askedForLeftHandedMouse;
383 QString _applicationTitle;
404 void slotBusyCursor();
405 void slotReceivedYCPCommand();
415 YUI * createUI(
bool withThreads );
Helper class that acts as a Qt signal receiver for YQUI.
void toggleRecordMacro()
Toggle macro recording (activated by Ctrl-Shift-Alt-M): Stop macro recording if it is in progress,...
bool fatalError() const
Returns 'true' if the UI had a fatal error that requires the application to abort.
virtual void deleteNotify(YWidget *widget)
Notification that a widget is being deleted.
void probeX11Display(const YCommandLine &cmdLine)
Probe the X11 display.
virtual bool eventsBlocked() const
Returns 'true' if events are currently blocked.
void busyCursor()
Show mouse cursor indicating busy state.
virtual void idleLoop(int fd_ycp)
Idle around until fd_ycp is readable and handle repaints.
virtual ~YQUI()
Destructor.
void processCommandLineArgs(int argc, char **argv)
Handle command line args.
YQUI(bool withThreads, bool topmostConstructor=true)
Constructors.
void setApplicationTitle(const QString &title)
Sets the application name for the window title.
virtual YOptionalWidgetFactory * createOptionalWidgetFactory()
Create the widget factory that provides all the createXY() methods for optional ("special") widgets a...
static YQUI * ui()
Access the global Qt-UI.
void askSendWidgetID()
Open a pop-up dialog to ask the user for a widget ID and then send it with sendWidgetID().
void askConfigureLogging()
Open dialog to configure logging.
void timeoutBusyCursor()
Show mouse cursor indicating busy state if the UI is unable to respond to user input for more than a ...
virtual YEvent * runPkgSelection(YWidget *packageSelector)
UI-specific runPkgSeleciton method: Start the package selection.
bool noBorder() const
Return 'true' if defaultsize windows should not get window manager borders / frames.
void sendEvent(YEvent *event)
Widget event handlers (slots) call this when an event occured that should be the answer to a UserInpu...
static YQApplication * yqApp()
Return the global YApplication object as YQApplication.
YEvent * pendingEvent() const
Returns the last event that isn't processed yet or 0 if there is none.
QString applicationTitle()
Returns the application name for the window title (e.g.
virtual void initUI()
Post-constructor initialization.
int defaultSize(YUIDimension dim) const
Returns size for opt(defaultsize) dialogs (in one dimension).
void askSaveLogs()
Open file selection box and let the user save y2logs to that location.
void forceUnblockEvents()
Force unblocking all events, no matter how many times blockEvents() has This returns 0 if there is no...
virtual void blockEvents(bool block=true)
Block (or unblock) events.
bool close()
Application shutdown.
void receivedYCPCommand()
Notification that a YCP command has been received on fd_ycp to leave idleLoop()
void calcDefaultSize()
Calculate size of opt(defaultsize) dialogs.
QIcon loadIcon(const string &iconName) const
Load an icon.
YEvent * consumePendingEvent()
Return the pending event, if there is one, and mark it as "consumed".
virtual void uiThreadDestructor()
Destroy whatever needs to be destroyed within the UI thread.
void askPlayMacro()
Open file selection box and ask for a macro file to play (activated by Ctrl-Shift-Alt-P)
bool eventPendingFor(YWidget *widget) const
Returns 'true' if there is any event pending for the specified widget.
void normalCursor()
Show normal mouse cursor not indicating busy status.
bool fullscreen() const
Return 'true' if defaultsize windows should use the full screen.
static void setTextdomain(const char *domain)
Initialize and set a textdomain for gettext()
void raiseFatalError()
Raise a fatal UI error.
void makeScreenShot(std::string filename)
Make a screen shot in .png format and save it to 'filename'.
virtual YWidgetFactory * createWidgetFactory()
Create the widget factory that provides all the createXY() methods for standard (mandatory,...