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