From aaa53c9456e261b8f131b6b2ba3f61607a4262ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Tue, 4 Nov 2014 23:00:49 +0100 Subject: [PATCH] added preliminar search edit to the native toolbar in MacOSX --- YACReaderLibrary/library_window.cpp | 5 ++++- custom_widgets/yacreader_macosx_toolbar.h | 6 +++++- custom_widgets/yacreader_macosx_toolbar.mm | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 493fd76b..7f4cfc39 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -822,7 +822,10 @@ void LibraryWindow::createToolBars() libraryToolBar->addAction(toggleFullScreenAction); libraryToolBar->addStretch(); - libraryToolBar->addWidget(searchEdit); + + //Native toolbar search edit + //libraryToolBar->addWidget(searchEdit); + libraryToolBar->addSearchEdit(); //libraryToolBar->setMovable(false); diff --git a/custom_widgets/yacreader_macosx_toolbar.h b/custom_widgets/yacreader_macosx_toolbar.h index 2fdbc667..e3777ca1 100644 --- a/custom_widgets/yacreader_macosx_toolbar.h +++ b/custom_widgets/yacreader_macosx_toolbar.h @@ -19,8 +19,12 @@ public: void hide(); QMap actions; -signals: + //convenience method for YACReaderLibrary search edit + void addSearchEdit(); +signals: + //convenience signal for YACReaderLibrary search edit + void searchTextChanged(QString); public slots: protected: diff --git a/custom_widgets/yacreader_macosx_toolbar.mm b/custom_widgets/yacreader_macosx_toolbar.mm index e490e57c..fc10057b 100644 --- a/custom_widgets/yacreader_macosx_toolbar.mm +++ b/custom_widgets/yacreader_macosx_toolbar.mm @@ -217,6 +217,7 @@ void YACReaderMacOSXToolbar::addStretch() void YACReaderMacOSXToolbar::addWidget(QWidget *widget) { + //TODO fix it /* QMacNativeWidget *nativeWidget = new QMacNativeWidget(); QVBoxLayout *layout = new QVBoxLayout(); layout->addWidget(widget); @@ -238,3 +239,16 @@ void YACReaderMacOSXToolbar::hide() { [nativeToolBar setVisible:NO]; } + +void YACReaderMacOSXToolbar::addSearchEdit() +{ + QMacToolBarItem *toolBarItem = addItem(QIcon(),""); + NSToolbarItem * nativeItem = toolBarItem->nativeToolBarItem(); + + static const NSRect searchEditFrameRect = { { 0.0, 0.0 }, { 150, 24.0 } }; + NSTextField * searchEdit = [[NSTextField alloc] initWithFrame:searchEditFrameRect]; + + [searchEdit setBezelStyle:NSTextFieldRoundedBezel]; + + [nativeItem setView:searchEdit]; +}