27#include <osl/conditn.hxx>
29#include <QtCore/QObject>
47 void operator()(
char* arg)
const noexcept { std::free(arg); }
61 std::unordered_map<OUString, css::uno::Reference<css::uno::XInterface>>
m_aClipboards;
77 bool ImplYield(
bool bWait,
bool bHandleAllCurrentEvents);
93 createPicker(css::uno::Reference<css::uno::XComponentContext>
const& context,
94 QFileDialog::FileMode);
107 std::unique_ptr<int>& rFakeArgc,
108 std::vector<FreeableCStr>& rFakeArgvFreeable);
110 std::vector<FreeableCStr>& rFakeArgvFreeable);
121 bool bShow)
override;
124 virtual std::unique_ptr<SalVirtualDevice>
144 virtual bool DoYield(
bool bWait,
bool bHandleAllCurrentEvents)
override;
155 const OUString& rDocumentService)
override;
165 css::uno::Reference<css::ui::dialogs::XFilePicker2>
167 css::uno::Reference<css::ui::dialogs::XFolderPicker2>
170 virtual css::uno::Reference<css::uno::XInterface>
172 virtual css::uno::Reference<css::uno::XInterface>
174 virtual css::uno::Reference<css::uno::XInterface>
void setActivePopup(QtFrame *)
virtual css::uno::Reference< css::uno::XInterface > CreateClipboard(const css::uno::Sequence< css::uno::Any > &i_rArguments) override
static void AllocFakeCmdlineArgs(std::unique_ptr< char *[]> &rFakeArgv, std::unique_ptr< int > &rFakeArgc, std::vector< FreeableCStr > &rFakeArgvFreeable)
virtual ~QtInstance() override
virtual bool DoYield(bool bWait, bool bHandleAllCurrentEvents) override
Wait for the next event (if bWait) and dispatch it, includes posted events, and timers.
virtual SalFrame * CreateChildFrame(SystemParentData *pParent, SalFrameStyleFlags nStyle) override
virtual std::shared_ptr< SalBitmap > CreateSalBitmap() override
osl::Condition m_aWaitingYieldCond
virtual rtl::Reference< QtFilePicker > createPicker(css::uno::Reference< css::uno::XComponentContext > const &context, QFileDialog::FileMode)
virtual SalInfoPrinter * CreateInfoPrinter(SalPrinterQueueInfo *pQueueInfo, ImplJobSetup *pSetupData) override
void virtualGeometryChanged(const QRect &)
static void deleteObjectLater(QObject *pObject)
Timer m_aUpdateStyleTimer
virtual void GetPrinterQueueInfo(ImplPrnQueueList *pList) override
DECL_DLLPRIVATE_LINK(updateStyleHdl, Timer *, void)
void orientationChanged(Qt::ScreenOrientation)
std::unique_ptr< int > m_pFakeArgc
bool hasNativeFileSelection() const override
void screenAdded(QScreen *)
virtual std::unique_ptr< SalMenu > CreateMenu(bool, Menu *) override
virtual void ProcessEvent(SalUserEvent aEvent) override
virtual OUString GetConnectionIdentifier() override
void primaryScreenChanged(QScreen *)
void deleteObjectLaterSignal(QObject *pObject)
virtual std::unique_ptr< SalVirtualDevice > CreateVirtualDevice(SalGraphics &rGraphics, tools::Long &nDX, tools::Long &nDY, DeviceFormat eFormat, const SystemGraphicsData *pData=nullptr) override
virtual SalFrame * CreateFrame(SalFrame *pParent, SalFrameStyleFlags nStyle) override
void RunInMainThread(std::function< void()> func)
static void localeChanged()
std::unique_ptr< QApplication > m_pQApplication
virtual std::unique_ptr< GenPspGraphics > CreatePrintGraphics() override
QtFrame * activePopup() const
bool DoExecute(int &nExitCode) override
virtual std::unique_ptr< SalMenuItem > CreateMenuItem(const SalItemParams &) override
bool ImplYield(bool bWait, bool bHandleAllCurrentEvents)
void MoveFakeCmdlineArgs(std::unique_ptr< char *[]> &rFakeArgv, std::unique_ptr< int > &rFakeArgc, std::vector< FreeableCStr > &rFakeArgvFreeable)
bool ImplYieldSignal(bool bWait, bool bHandleAllCurrentEvents)
virtual void TriggerUserEventProcessing() override
css::uno::Reference< css::ui::dialogs::XFolderPicker2 > createFolderPicker(const css::uno::Reference< css::uno::XComponentContext > &) override
virtual void PostPrintersChanged() override
void AfterAppInit() override
void UpdateStyle(bool bFontsChanged)
std::vector< FreeableCStr > m_pFakeArgvFreeable
virtual bool AnyInput(VclInputFlags nType) override
virtual void DestroyObject(SalObject *pObject) override
std::unordered_map< OUString, css::uno::Reference< css::uno::XInterface > > m_aClipboards
virtual SalTimer * CreateSalTimer() override
virtual OpenGLContext * CreateOpenGLContext() override
virtual void GetPrinterQueueState(SalPrinterQueueInfo *pInfo) override
css::uno::Reference< css::ui::dialogs::XFilePicker2 > createFilePicker(const css::uno::Reference< css::uno::XComponentContext > &) override
virtual bool IsMainThread() const override
QtInstance(std::unique_ptr< QApplication > &pQApp)
void notifyDisplayChanged()
virtual bool GetUseReducedAnimation()
static std::unique_ptr< QApplication > CreateQApplication(int &nArgc, char **pArgv)
virtual SalObject * CreateObject(SalFrame *pParent, SystemWindowData *pWindowData, bool bShow) override
virtual OUString GetDefaultPrinter() override
void screenRemoved(QScreen *)
OUString constructToolkitID(std::u16string_view sTKname)
virtual void DestroyInfoPrinter(SalInfoPrinter *pPrinter) override
std::unique_ptr< char *[]> m_pFakeArgv
virtual std::unique_ptr< SalPrinter > CreatePrinter(SalInfoPrinter *pInfoPrinter) override
virtual void AddToRecentDocumentList(const OUString &rFileUrl, const OUString &rMimeType, const OUString &rDocumentService) override
virtual SalSystem * CreateSalSystem() override
virtual void DestroyFrame(SalFrame *pFrame) override
void connectQScreenSignals(const QScreen *)
virtual css::uno::Reference< css::uno::XInterface > ImplCreateDragSource(const SystemEnvData *) override
void * CreateGStreamerSink(const SystemChildWindow *) override
virtual css::uno::Reference< css::uno::XInterface > ImplCreateDropTarget(const SystemEnvData *) override
A SalFrame is a system window (e.g. an X11 window).
std::unique_ptr< char[], StdFreeCStr > FreeableCStr
QtInstance * GetQtInstance()
void operator()(char *arg) const noexcept
SalInstance * GetSalInstance()
#define VCLPLUG_QT_PUBLIC