From: <ibr...@us...> - 2014-04-02 05:24:49
|
Revision: 5112 http://sourceforge.net/p/tora/code/5112 Author: ibre5041 Date: 2014-04-02 05:24:44 +0000 (Wed, 02 Apr 2014) Log Message: ----------- Modified Paths: -------------- trunk/tora/CMakeLists.txt trunk/tora/src/CMakeLists.txt Added Paths: ----------- trunk/tora/src/tests/test6.cpp Modified: trunk/tora/CMakeLists.txt =================================================================== --- trunk/tora/CMakeLists.txt 2014-03-30 18:15:13 UTC (rev 5111) +++ trunk/tora/CMakeLists.txt 2014-04-02 05:24:44 UTC (rev 5112) @@ -25,6 +25,7 @@ OPTION(TEST_APP3 "simple application - execute toWorksheet in a separate application" OFF) OPTION(TEST_APP4 "simple application - execute toHighlightedText in separate application" OFF) OPTION(TEST_APP5 "simple application - single tool(tabbed)" OFF) +OPTION(TEST_APP6 "simple application parser" OFF) #Set our CMake minimum version #Require 2.4.2 for Qt finding Modified: trunk/tora/src/CMakeLists.txt =================================================================== --- trunk/tora/src/CMakeLists.txt 2014-03-30 18:15:13 UTC (rev 5111) +++ trunk/tora/src/CMakeLists.txt 2014-04-02 05:24:44 UTC (rev 5112) @@ -1107,6 +1107,21 @@ ENDIF(PCH_DEFINED) ENDIF(TORA_DEBUG AND TEST_APP5) +IF(TORA_DEBUG AND TEST_APP6) +# test6 +ADD_EXECUTABLE("test6" ${GUI_TYPE} + tests/test6.cpp + ${TEST6_SOURCES} + ${PCH_SOURCE} + ) +TARGET_LINK_LIBRARIES("test6") +SET_TARGET_PROPERTIES("test6" PROPERTIES ENABLE_EXPORTS ON) +ADD_DEPENDENCIES("test6" revisiontag) # explicitly say that the executable depends on the svnheader +IF(PCH_DEFINED) + ADD_PRECOMPILED_HEADER("test6" ${PCH_HEADER} FORCEINCLUDE) +ENDIF(PCH_DEFINED) +ENDIF(TORA_DEBUG AND TEST_APP6) + ################################################################################ # Connection provider libraries # ################################################################################ Added: trunk/tora/src/tests/test6.cpp =================================================================== --- trunk/tora/src/tests/test6.cpp (rev 0) +++ trunk/tora/src/tests/test6.cpp 2014-04-02 05:24:44 UTC (rev 5112) @@ -0,0 +1,48 @@ + +/* BEGIN_COMMON_COPYRIGHT_HEADER + * + * TOra - An Oracle Toolkit for DBA's and developers + * + * Shared/mixed copyright is held throughout files in this product + * + * Portions Copyright (C) 2000-2001 Underscore AB + * Portions Copyright (C) 2003-2005 Quest Software, Inc. + * Portions Copyright (C) 2004-2013 Numerous Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program as the file COPYING.txt; if not, please see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * All trademarks belong to their respective owners. + * + * END_COMMON_COPYRIGHT_HEADER */ + +#include <stdlib.h> +#include <stdio.h> + +static void usage() +{ + printf("Usage:\n\n test6 filename\n\n"); + exit(2); +} + +int main(int argc, char **argv) +{ + usage(); +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2014-04-24 11:46:38
|
Revision: 5125 http://sourceforge.net/p/tora/code/5125 Author: ibre5041 Date: 2014-04-24 11:46:34 +0000 (Thu, 24 Apr 2014) Log Message: ----------- Complete Table name using CTRL+T (1st version) Modified Paths: -------------- trunk/tora/src/CMakeLists.txt trunk/tora/src/editor/toworksheettext.cpp trunk/tora/src/editor/toworksheettext.h Added Paths: ----------- trunk/tora/src/editor/tocomplpopup.cpp trunk/tora/src/editor/tocomplpopup.h Removed Paths: ------------- trunk/tora/obsolete/tocomplpopup.cpp trunk/tora/obsolete/tocomplpopup.h Deleted: trunk/tora/obsolete/tocomplpopup.cpp =================================================================== --- trunk/tora/obsolete/tocomplpopup.cpp 2014-04-19 22:47:05 UTC (rev 5124) +++ trunk/tora/obsolete/tocomplpopup.cpp 2014-04-24 11:46:34 UTC (rev 5125) @@ -1,90 +0,0 @@ - -/* BEGIN_COMMON_COPYRIGHT_HEADER - * - * TOra - An Oracle Toolkit for DBA's and developers - * - * Shared/mixed copyright is held throughout files in this product - * - * Portions Copyright (C) 2000-2001 Underscore AB - * Portions Copyright (C) 2003-2005 Quest Software, Inc. - * Portions Copyright (C) 2004-2013 Numerous Other Contributors - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 of - * the License is valid for this program. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program as the file COPYING.txt; if not, please see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * As a special exception, you have permission to link this program - * with the Oracle Client libraries and distribute executables, as long - * as you follow the requirements of the GNU GPL in regard to all of the - * software in the executable aside from Oracle client libraries. - * - * All trademarks belong to their respective owners. - * - * END_COMMON_COPYRIGHT_HEADER */ - -#include "editor/tocomplpopup.h" -#include "editor/tohighlightedtext.h" - -#include <QtGui/QVBoxLayout> -#include <QtGui/QListWidget> - -toComplPopup::toComplPopup(toHighlightedText* editor) - : QWidget(editor, Qt::Popup) -{ - List = new QListWidget(this); - Editor = editor; - - QVBoxLayout *vbox = new QVBoxLayout; - vbox->setSpacing(0); - vbox->setContentsMargins(0, 0, 0, 0); - - vbox->addWidget(List); - setLayout(vbox); - setFocusProxy(List); -} - -toComplPopup::~toComplPopup() -{ -} - -void toComplPopup::hide() -{ - if (parentWidget()) - parentWidget()->setFocus(); - QWidget::hide(); -} - -void toComplPopup::keyPressEvent(QKeyEvent * e) -{ - if (e->key() == Qt::Key_Escape) - { - hide(); - return; - } - - if ((!e->text().isNull() && e->text().length() > 0 && e->key() != Qt::Key_Return - && e->text() != " ") || e->key() == Qt::Key_Backspace) - { - this->Editor->keyPressEvent(e); - this->Editor->autoCompleteFromAPIs(); - } - else if (!e->text().isNull() && e->text().length() > 0 && e->text() == " ") - { - this->Editor->keyPressEvent(e); - this->hide(); - } - else - QWidget::keyPressEvent(e); - -} - Deleted: trunk/tora/obsolete/tocomplpopup.h =================================================================== --- trunk/tora/obsolete/tocomplpopup.h 2014-04-19 22:47:05 UTC (rev 5124) +++ trunk/tora/obsolete/tocomplpopup.h 2014-04-24 11:46:34 UTC (rev 5125) @@ -1,66 +0,0 @@ - -/* BEGIN_COMMON_COPYRIGHT_HEADER - * - * TOra - An Oracle Toolkit for DBA's and developers - * - * Shared/mixed copyright is held throughout files in this product - * - * Portions Copyright (C) 2000-2001 Underscore AB - * Portions Copyright (C) 2003-2005 Quest Software, Inc. - * Portions Copyright (C) 2004-2013 Numerous Other Contributors - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 of - * the License is valid for this program. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program as the file COPYING.txt; if not, please see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * As a special exception, you have permission to link this program - * with the Oracle Client libraries and distribute executables, as long - * as you follow the requirements of the GNU GPL in regard to all of the - * software in the executable aside from Oracle client libraries. - * - * All trademarks belong to their respective owners. - * - * END_COMMON_COPYRIGHT_HEADER */ - -#ifndef TOCOMPLPOPUP_H -#define TOCOMPLPOPUP_H - -#include <QtGui/QWidget> - -class QListWidget; -class toHighlightedText; - -class toComplPopup : public QWidget -{ - Q_OBJECT; -public: - toComplPopup(toHighlightedText* editor); - virtual ~toComplPopup(); - - QListWidget* list(void) - { - return this->List; - } - -public slots: - void hide(void); - -protected: - virtual void keyPressEvent(QKeyEvent * e); - -private: - toHighlightedText *Editor; - QListWidget *List; -}; - -#endif Modified: trunk/tora/src/CMakeLists.txt =================================================================== --- trunk/tora/src/CMakeLists.txt 2014-04-19 22:47:05 UTC (rev 5124) +++ trunk/tora/src/CMakeLists.txt 2014-04-24 11:46:34 UTC (rev 5125) @@ -273,6 +273,7 @@ parsing/tolexeroracleapis.h editor/tobaseeditor.h + editor/tocomplpopup.h editor/tomarkededitor.h editor/toscintilla.h editor/tohighlightededitor.h @@ -504,6 +505,7 @@ core/utils_part.cpp editor/tobaseeditor.cpp + editor/tocomplpopup.cpp editor/tomarkededitor.cpp editor/toscintilla.cpp editor/tohighlightededitor.cpp Copied: trunk/tora/src/editor/tocomplpopup.cpp (from rev 5124, trunk/tora/obsolete/tocomplpopup.cpp) =================================================================== --- trunk/tora/src/editor/tocomplpopup.cpp (rev 0) +++ trunk/tora/src/editor/tocomplpopup.cpp 2014-04-24 11:46:34 UTC (rev 5125) @@ -0,0 +1,90 @@ + +/* BEGIN_COMMON_COPYRIGHT_HEADER + * + * TOra - An Oracle Toolkit for DBA's and developers + * + * Shared/mixed copyright is held throughout files in this product + * + * Portions Copyright (C) 2000-2001 Underscore AB + * Portions Copyright (C) 2003-2005 Quest Software, Inc. + * Portions Copyright (C) 2004-2013 Numerous Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program as the file COPYING.txt; if not, please see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * All trademarks belong to their respective owners. + * + * END_COMMON_COPYRIGHT_HEADER */ + +#include "editor/tocomplpopup.h" +#include "editor/toworksheettext.h" + +#include <QtGui/QVBoxLayout> +#include <QtGui/QListWidget> + +toComplPopup::toComplPopup(toWorksheetText* editor) + : QWidget(editor, Qt::Popup) +{ + List = new QListWidget(this); + Editor = editor; + + QVBoxLayout *vbox = new QVBoxLayout; + vbox->setSpacing(0); + vbox->setContentsMargins(0, 0, 0, 0); + + vbox->addWidget(List); + setLayout(vbox); + setFocusProxy(List); +} + +toComplPopup::~toComplPopup() +{ +} + +void toComplPopup::hide() +{ + if (parentWidget()) + parentWidget()->setFocus(); + QWidget::hide(); +} + +void toComplPopup::keyPressEvent(QKeyEvent * e) +{ + if (e->key() == Qt::Key_Escape) + { + hide(); + return; + } + + if ((!e->text().isNull() && e->text().length() > 0 && e->key() != Qt::Key_Return + && e->text() != " ") || e->key() == Qt::Key_Backspace) + { + this->Editor->keyPressEvent(e); + this->Editor->autoCompleteFromAPIs(); + } + else if (!e->text().isNull() && e->text().length() > 0 && e->text() == " ") + { + this->Editor->keyPressEvent(e); + this->hide(); + } + else + QWidget::keyPressEvent(e); + +} + Copied: trunk/tora/src/editor/tocomplpopup.h (from rev 5124, trunk/tora/obsolete/tocomplpopup.h) =================================================================== --- trunk/tora/src/editor/tocomplpopup.h (rev 0) +++ trunk/tora/src/editor/tocomplpopup.h 2014-04-24 11:46:34 UTC (rev 5125) @@ -0,0 +1,66 @@ + +/* BEGIN_COMMON_COPYRIGHT_HEADER + * + * TOra - An Oracle Toolkit for DBA's and developers + * + * Shared/mixed copyright is held throughout files in this product + * + * Portions Copyright (C) 2000-2001 Underscore AB + * Portions Copyright (C) 2003-2005 Quest Software, Inc. + * Portions Copyright (C) 2004-2013 Numerous Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program as the file COPYING.txt; if not, please see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * All trademarks belong to their respective owners. + * + * END_COMMON_COPYRIGHT_HEADER */ + +#ifndef TOCOMPLPOPUP_H +#define TOCOMPLPOPUP_H + +#include <QtGui/QWidget> + +class QListWidget; +class toWorksheetText; + +class toComplPopup : public QWidget +{ + Q_OBJECT; +public: + toComplPopup(toWorksheetText* editor); + virtual ~toComplPopup(); + + QListWidget* list(void) + { + return this->List; + } + +public slots: + void hide(void); + +protected: + virtual void keyPressEvent(QKeyEvent * e); + +private: + toWorksheetText *Editor; + QListWidget *List; +}; + +#endif Modified: trunk/tora/src/editor/toworksheettext.cpp =================================================================== --- trunk/tora/src/editor/toworksheettext.cpp 2014-04-19 22:47:05 UTC (rev 5124) +++ trunk/tora/src/editor/toworksheettext.cpp 2014-04-24 11:46:34 UTC (rev 5125) @@ -33,6 +33,7 @@ * END_COMMON_COPYRIGHT_HEADER */ #include "editor/toworksheettext.h" +#include "editor/tocomplpopup.h" #include "core/toconfiguration_new.h" #include "core/toeditorsetting.h" #include "core/toconnection.h" @@ -48,6 +49,7 @@ , m_complAPI(NULL) , complTimer(new QTimer(this)) , editorType(SciTe) + , popup(new toComplPopup(this)) { QsciScintilla::setAutoCompletionThreshold(0); QsciScintilla::setAutoCompletionSource(QsciScintilla::AcsAPIs); @@ -79,6 +81,16 @@ SIGNAL(toggled(int)), this, SLOT(setEditorType(int))); + + popup->hide(); + connect(popup->list(), + SIGNAL(itemClicked(QListWidgetItem*)), + this, + SLOT(completeFromAPI(QListWidgetItem*))); + connect(popup->list(), + SIGNAL(itemActivated(QListWidgetItem*)), + this, + SLOT(completeFromAPI(QListWidgetItem*))); } toWorksheetText::~toWorksheetText() @@ -119,14 +131,9 @@ return; } } else if (e->modifiers() == Qt::ControlModifier && e->key() == Qt::Key_T) { - int curline, curcol; - getCursorPosition (&curline, &curcol); - QString word = wordAtLineIndex(curline, curcol); - QStringList tabs = toConnection::currentConnection(this).getCache().completeEntry(word); - Q_FOREACH(QString t, tabs) - { - TLOG(0, toNoDecorator, __HERE__) << " Tab: " << t << std::endl; - } + autoCompleteFromAPIs(); + e->accept(); + return; } super::keyPressEvent(e); } @@ -153,6 +160,8 @@ // markerAdd(row, m_currentLineMarginHandle); } +// the QScintilla way of autocomletition +#if 0 void toWorksheetText::autoCompleteFromAPIs() { complTimer->stop(); // it's a must to prevent infinite reopening @@ -161,7 +170,90 @@ return; } } +#endif +// the Tora way of autocomletition +void toWorksheetText::autoCompleteFromAPIs() +{ + complTimer->stop(); // it's a must to prevent infinite reopening + + Utils::toBusy busy; + QListWidget *list = popup->list(); + QString partial; // TODO never used, never assigned + QStringList compleList = this->getCompletionList(partial); + + if (compleList.count() == 0) + return; + + if (compleList.count() == 1 /*&& compleList.first() == partial*/) + { + completeWithText(compleList.first()); + } else { + long position, posx, posy; + int curCol, curRow; + this->getCursorPosition(&curRow, &curCol); + position = this->SendScintilla(SCI_GETCURRENTPOS); + posx = this->SendScintilla(SCI_POINTXFROMPOSITION, 0, position); + posy = this->SendScintilla(SCI_POINTYFROMPOSITION, 0, position) + + this->SendScintilla(SCI_TEXTHEIGHT, curRow); + QPoint p(posx, posy); + p = mapToGlobal(p); + popup->move(p); + list->clear(); + list->addItems(compleList); +// if (!partial.isNull() && partial.length() > 0) +// { +// int i; +// for (i = 0; i < list->model()->rowCount(); i++) +// { +// if (list->item(i)->text().indexOf(partial) == 0) +// { +// list->item(i)->setSelected(true); +// list->setCurrentItem(list->item(i)); +// break; +// } +// } +// } + + // if there's no current selection, select the first + // item. that way arrow keys work as intended. + QList<QListWidgetItem *> selected = list->selectedItems(); + if (selected.size() < 1 && list->count() > 0) + { + list->item(0)->setSelected(true); + list->setCurrentItem(list->item(0)); + } + + popup->show(); + popup->setFocus(); + } +} + +void toWorksheetText::completeFromAPI(QListWidgetItem* item) +{ + if (item) + { + completeWithText(item->text()); + } + popup->hide(); +} + +void toWorksheetText::completeWithText(QString const& text) +{ + long pos = currentPosition(); + int start = SendScintilla(SCI_WORDSTARTPOSITION, pos, true); + int end = SendScintilla(SCI_WORDENDPOSITION, pos, true); + setSelection(start, end); + removeSelectedText(); + insert(text); + SendScintilla(SCI_SETCURRENTPOS, + SendScintilla(SCI_GETCURRENTPOS) + + text.length()); + pos = SendScintilla(SCI_GETCURRENTPOS); + SendScintilla(SCI_SETSELECTIONSTART, pos, true); + SendScintilla(SCI_SETSELECTIONEND, pos, true); +} + void toWorksheetText::setEditorType(int) { @@ -224,7 +316,7 @@ QStringList toWorksheetText::getCompletionList(QString &partial) { - QStringList toReturn; + QStringList retval; #if 0 int curline, curcol; // used as a flag to prevent completion popup when there is @@ -235,7 +327,7 @@ QString line = text(curline); if (isReadOnly() || curcol == 0 || !toConfigurationSingle::Instance().codeCompletion()) - return toReturn; + return retval; //throw QString("QStringList toHighlightedTextEditor::getCompletionList ... not implemented yet."); @@ -292,7 +384,7 @@ owner = tokens.getToken(false); } else if (token == ")") - return toReturn; + return retval; } } if (!owner.isEmpty()) @@ -312,7 +404,7 @@ { QString t = conn.quote(table.Name, false); if(t.indexOf(*partial) == 0) - toReturn.append(t); + retval.append(t); } } else @@ -329,7 +421,7 @@ else t = conn.quote((*i).Name, false); if (t.indexOf(*partial) == 0) - toReturn.append(t); + retval.append(t); } } } @@ -345,18 +437,28 @@ } // if is toReturn empty fill it with keywords... - if (showDefault && toReturn.count() == 0) + if (showDefault && retval.count() == 0) { for (int i = 0; i < defaultCompletion.size(); ++i) { if (defaultCompletion.at(i).startsWith(partial, Qt::CaseInsensitive)) - toReturn.append(defaultCompletion.at(i)); + retval.append(defaultCompletion.at(i)); } } - toReturn.sort(); + retval.sort(); #endif - return toReturn; + int curline, curcol; + getCursorPosition (&curline, &curcol); + QString word = wordAtLineIndex(curline, curcol); + retval = toConnection::currentConnection(this).getCache().completeEntry(word); + retval.sort(); + Q_FOREACH(QString t, retval) + { + TLOG(0, toNoDecorator, __HERE__) << " Tab: " << t << std::endl; + } + + return retval; } void toWorksheetText::focusInEvent(QFocusEvent *e) Modified: trunk/tora/src/editor/toworksheettext.h =================================================================== --- trunk/tora/src/editor/toworksheettext.h 2014-04-19 22:47:05 UTC (rev 5124) +++ trunk/tora/src/editor/toworksheettext.h 2014-04-24 11:46:34 UTC (rev 5125) @@ -38,11 +38,14 @@ #include "editor/tosqltext.h" #include "core/toeditorsetting.h" +class toComplPopup; + class toWorksheetText : public toSqlText { Q_OBJECT; Q_ENUMS(EditorTypeEnum); typedef toSqlText super; + friend class toComplPopup; public: enum EditorTypeEnum { @@ -70,9 +73,12 @@ void gotoPrevBookmark(); void gotoNextBookmark(); - // Override QScintilla + // Override QScintilla (display custom toComplPopup window) virtual void autoCompleteFromAPIs(); + // Insert chosen text + void completeFromAPI(QListWidgetItem * item); + void positionChanged(int row, int col); protected: @@ -89,6 +95,8 @@ */ QStringList getCompletionList(QString &partial); + void completeWithText(QString const&); + virtual void focusInEvent(QFocusEvent *e); virtual void focusOutEvent(QFocusEvent *e); @@ -107,6 +115,7 @@ private: EditorTypeEnum editorType; + toComplPopup* popup; protected: QsciAbstractAPIs* m_complAPI; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2014-11-03 17:17:31
|
Revision: 5145 http://sourceforge.net/p/tora/code/5145 Author: ibre5041 Date: 2014-11-03 17:17:26 +0000 (Mon, 03 Nov 2014) Log Message: ----------- reinstated c++11 and fixed the source code so that it compiles with that There were some problems with macros that weren't following the required format new c++ standard which is required by some 3rd libraries Modified Paths: -------------- trunk/tora/CMakeLists.txt trunk/tora/extlibs/trotl/src/trotl_common.h trunk/tora/src/ts_log/ts_log_utils.h Modified: trunk/tora/CMakeLists.txt =================================================================== --- trunk/tora/CMakeLists.txt 2014-11-03 17:15:44 UTC (rev 5144) +++ trunk/tora/CMakeLists.txt 2014-11-03 17:17:26 UTC (rev 5145) @@ -107,7 +107,7 @@ SET(CMAKE_C_FLAGS_DEBUG "-O0 -fno-inline -rdynamic") SET(CMAKE_CXX_FLAGS_RELEASE "-O2") SET(CMAKE_C_FLAGS_RELEASE "-O2") - SET(CMAKE_CXX_FLAGS "-Wall -std=c++03 -ggdb3") + SET(CMAKE_CXX_FLAGS "-Wall -std=c++11 -ggdb3") SET(CMAKE_C_FLAGS "-Wall -ggdb3") ENDIF (CMAKE_COMPILER_IS_GNUCC) Modified: trunk/tora/extlibs/trotl/src/trotl_common.h =================================================================== --- trunk/tora/extlibs/trotl/src/trotl_common.h 2014-11-03 17:15:44 UTC (rev 5144) +++ trunk/tora/extlibs/trotl/src/trotl_common.h 2014-11-03 17:17:26 UTC (rev 5145) @@ -148,7 +148,7 @@ #ifdef DEBUG #ifdef __GNUC__ -#define __TROTL_HERE__ ::trotl::tstring(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":"__TROTL_HERE1__(__LINE__) +#define __TROTL_HERE__ ::trotl::tstring(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":" __TROTL_HERE1__(__LINE__) // #define __HERE_SHORT__ ::trotl::tstring(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":"__HERE1__(__LINE__) // #define __TROTL_HERE__ ::trotl::str_backtrace() + __HERE3__(__LINE__, __FILE__) #define __TROTL_HERE1__(x) STR(x)"\t" + __PRETTY_FUNCTION__ Modified: trunk/tora/src/ts_log/ts_log_utils.h =================================================================== --- trunk/tora/src/ts_log/ts_log_utils.h 2014-11-03 17:15:44 UTC (rev 5144) +++ trunk/tora/src/ts_log/ts_log_utils.h 2014-11-03 17:17:26 UTC (rev 5145) @@ -7,8 +7,8 @@ #ifdef __GNUC__ #include <string.h> -#define __QHERE__ QString::fromAscii(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":"__HERE1__(__LINE__) -#define __HERE__ std::string(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":"__HERE1__(__LINE__) +#define __QHERE__ QString::fromAscii(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":" __HERE1__(__LINE__) +#define __HERE__ std::string(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":" __HERE1__(__LINE__) #define __HERE1__(x) STR(x)"\t" + __PRETTY_FUNCTION__ #define STR(a) #a #else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2014-11-24 20:00:38
|
Revision: 5163 http://sourceforge.net/p/tora/code/5163 Author: ibre5041 Date: 2014-11-24 20:00:27 +0000 (Mon, 24 Nov 2014) Log Message: ----------- Build system adopted for experemental support for Qt5, thx to Petr Bena Modified Paths: -------------- trunk/tora/CMakeLists.txt trunk/tora/src/CMakeLists.txt Modified: trunk/tora/CMakeLists.txt =================================================================== --- trunk/tora/CMakeLists.txt 2014-11-24 19:58:41 UTC (rev 5162) +++ trunk/tora/CMakeLists.txt 2014-11-24 20:00:27 UTC (rev 5163) @@ -16,6 +16,7 @@ OPTION(ENABLE_ORACLE "Enable/Disable Oracle support at all. Including detection" ON) OPTION(ENABLE_PGSQL "Enable/Disable PostgreSQL support. Including detection" ON) OPTION(ENABLE_DB2 "Enable/Disable DB2 support. Including detection" ON) +OPTION(QT5_BUILD "Use Qt5" OFF) OPTION(ENABLE_TERADATA "Enable/Disable Teradata support." ON) OPTION(WANT_RPM "Enable additional RPM related stuff. Additional make package_rpm target" OFF) OPTION(USE_PCH "Use percompiled headers" OFF) @@ -31,7 +32,7 @@ #Require 2.4.2 for Qt finding #Require 2.4.3 for moc change detection and rpath updates for custom cairo install #Require 2.8 for svnversion -CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11 FATAL_ERROR) # qt5 requirement #Pretty colors SET(CMAKE_COLOR_MAKEFILE ON) @@ -108,7 +109,7 @@ SET(CMAKE_CXX_FLAGS_RELEASE "-O2") SET(CMAKE_C_FLAGS_RELEASE "-O2") SET(CMAKE_CXX_FLAGS "-Wall -std=c++11 -ggdb3") - SET(CMAKE_C_FLAGS "-Wall -ggdb3") + SET(CMAKE_C_FLAGS "-Wall -ggdb3") ENDIF (CMAKE_COMPILER_IS_GNUCC) #Convert our simpler command line option to the CMake style @@ -158,24 +159,52 @@ ############################################################################################################## ########## Find Dependencies ########## -SET (QT_MT_REQUIRED true) -SET (QT_MIN_VERSION "4.8.0") -SET (QT_USE_QTSQL TRUE) -SET (QT_USE_QTNETWORK TRUE) -SET (QT_USE_QTXML TRUE) -FIND_PACKAGE(Qt4 REQUIRED) -INCLUDE( ${QT_USE_FILE} ) +SET(QT_MT_REQUIRED true) +SET(QT_USE_QTNETWORK TRUE) +SET(QT_USE_QTXML TRUE) +SET(QT_USE_QTWEBKIT TRUE) +#SET(CMAKE_AUTOMOC ON) +if(QT5_BUILD) + set (QT_FOUND true) + #set (CMAKE_PREFIX_PATH "C:\\Qt\\5.3\\msvc2013\\") + find_package(Qt5Core REQUIRED) + find_package(Qt5Gui REQUIRED) + find_package(Qt5Network REQUIRED) + find_package(Qt5PrintSupport REQUIRED) + find_package(Qt5Sql REQUIRED) + find_package(Qt5Widgets REQUIRED) + find_package(Qt5Xml REQUIRED) + set(QT_INCLUDES + ${Qt5Core_INCLUDE_DIRS} + ${Qt5Gui_INCLUDE_DIRS} + ${Qt5Network_INCLUDE_DIRS} + ${Qt5PrintSupport_INCLUDE_DIRS} + ${Qt5Sql_INCLUDE_DIRS} + ${Qt5Widgets_INCLUDE_DIRS} + ${Qt5Xml_INCLUDE_DIRS} + ) + include_directories(${QT_INCLUDES}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") +else() + SET (QT_MIN_VERSION "4.8.0") + SET (QT_USE_QTSQL TRUE) + SET (QT_USE_QTNETWORK TRUE) + SET (QT_USE_QTXML TRUE) + FIND_PACKAGE(Qt4 REQUIRED) + INCLUDE( ${QT_USE_FILE} ) +endif() IF (QT_FOUND) - MESSAGE("Qt4 Found OK") - #Add our Qt definitions - ADD_DEFINITIONS( - ${QT_DEFINITIONS} - -DQT_CORE_LIB - -DQT_GUI_LIB - -DQT_THREAD_LIB - ) + MESSAGE("Qt Found OK") + #Add our Qt definitions + ADD_DEFINITIONS( + ${QT_DEFINITIONS} + -DQT_CORE_LIB + -DQT_GUI_LIB + -DQT_THREAD_LIB + ) ELSE(QT_FOUND) - MESSAGE(FATAL_ERROR "No Qt4 found") + MESSAGE(FATAL_ERROR "No Qt found") ENDIF(QT_FOUND) IF (WANT_INTERNAL_QSCINTILLA) Modified: trunk/tora/src/CMakeLists.txt =================================================================== --- trunk/tora/src/CMakeLists.txt 2014-11-24 19:58:41 UTC (rev 5162) +++ trunk/tora/src/CMakeLists.txt 2014-11-24 20:00:27 UTC (rev 5163) @@ -687,10 +687,17 @@ LIST(APPEND TORA_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/tora_rc.o) ENDIF (WIN32 AND MINGW) +if(QT5_BUILD) +#QT5_ADD_TRANSLATION(TORA_I18N_QM ${TORA_I18N_TS} ${TORA_I18N_TS_TOAD}) +QT5_WRAP_UI(TORA_UI_SOURCES ${TORA_UI_SRC} ) +QT5_WRAP_CPP(TORA_MOC_SOURCES ${TORA_MOC_CLASSES}) +QT5_ADD_RESOURCES(TORA_RCC_SRCS ${TORA_RCC_FILES}) +else() QT4_ADD_TRANSLATION(TORA_I18N_QM ${TORA_I18N_TS} ${TORA_I18N_TS_TOAD}) QT4_WRAP_UI(TORA_UI_SOURCES ${TORA_UI_SRC} ) QT4_WRAP_CPP(TORA_MOC_SOURCES ${TORA_MOC_CLASSES}) QT4_ADD_RESOURCES(TORA_RCC_SRCS ${TORA_RCC_FILES}) +endif() ################################################################################ # Libraries and library imports # @@ -729,7 +736,14 @@ #Set up libraries to link with all found packages SET(TORA_LIBS - ${QT_LIBRARIES} # dynamic + ${QT_LIBRARIES} # dynamic qt4 + ${Qt5Core_LIBRARIES} # dynamic qt5 + ${Qt5Gui_LIBRARIES} # dynamic qt5 + ${Qt5Network_LIBRARIES} # dynamic qt5 + ${Qt5PrintSupport_LIBRARIES} # dynamic qt5 + ${Qt5Sql_LIBRARIES} # dynamic qt5 + ${Qt5Widgets_LIBRARIES} # dynamic qt5 + ${Qt5Xml_LIBRARIES} # dynamic qt5 ${QSCINTILLA_LIBRARIES} # dynamic ${TORA_LOKI_LIB} # static ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |