From hkarel at yandex.ru Mon Jan 1 18:17:25 2018 From: hkarel at yandex.ru (=?UTF-8?B?0JrQsNGA0LXQu9C40L0g0J/QsNCy0LXQuw==?=) Date: Mon, 1 Jan 2018 20:17:25 +0300 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? Message-ID: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> Hi! I congratulate all with come New year! In my project I use std::condition_variable. But using std::condition_variable is not very convenient, since its methods are not available in the QtC editor. See picture in attachment. How to make std::condition_variable methods accessible? I use QtC 4.5 gitrev: 30bd05b792259a559e98c6a19035f7b6adaac1ce -- BR, Pavel Karelin -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 1.png Type: image/png Size: 128636 bytes Desc: not available URL: From svidhyapria at gmail.com Mon Jan 1 18:21:15 2018 From: svidhyapria at gmail.com (Vidhya Arun) Date: Mon, 1 Jan 2018 22:51:15 +0530 Subject: [Qt-creator] Update QtCreator kits thru plugin In-Reply-To: References: Message-ID: Hi Antonio Tried your steps and built the plugin. Is the kit expected to be listed automatically under Tools/Options/Build &Run/Kits once the plugin is built and loaded successfully in Qt creator ? Unfortunately I dont see my kit listed there when i execute the plugin ? Meanwhile are all the steps mandatory to be followed. Initially I just wanted to check if the kit gets created with the registered kit name and toolchain, sysroot details added in plugin. Thats not happening yet. Any hints on what could have gone wrong here ? -Vidhya On Thu, Dec 28, 2017 at 10:21 PM, Antonio Di Monaco wrote: > Hi Arun, > > unfortunately I cannot share the code, but I can provide you some basic > steps in order to do that. Please note that what I'm posting is just the > result of my understanding of the Qt Creator code, so I could be not > correct 100%. I was not able to find any kind of documentation, so YMMV. > > Basically, you need to create a toolchain first. You can subclass from > ProjectExplorer::GccToolchain, in order to create a GCC/Clang toolchain, or > ProjectExplorer::Internal::AbstractMsvcToolchain, for MSVC compiler > (yeah, that should not be allowed, but there are no MSVC base classes that > are exported through the PROJECTEXPLORER_EXPORT macro. Anyway, it works, > you just need some code from MsvcToolchain class). > > Once you have it, create a Kit in your Project class. You can do it in the > fromMap method, for example (called when your project is loaded): > > ProjectExplorer::Kit *kit = new ProjectExplorer::Kit(YOUR_ID); > kit->setUnexpandedDisplayName(YOUR_DISPLAY_NAME); > kit->setAutoDetected(false); > > You can add your personal values too, using: > > kit->setValueSilently(KEY, VALUE); > > that you can access later calling kit->value(KEY). > > Then, you can add all the required information: > > - sysroot: > > ProjectExplorer::SysRootKitInformation::setSysRoot(kit, > PATH_OF_THE_SYSROOT); > > > - toolchain: > > ProjectExplorer::ToolChain *tc = new Your_ToolChain_Class(...); > ProjectExplorer::ToolChainManager::registerToolChain(tc); > ProjectExplorer::ToolChainKitInformation::setToolChain(kit, tc); > > you can add one for C, and one for C++, according to the LanguageId that > you specify in Your_ToolChain_Class. > > > - If you have a CMake configuration for your kit, you can add it too: > > /* vvvvv do this group once vvvvv */ > CMakeProjectManager::CMakeTool *cmakeTool = new CMakeProjectManager:: > CMakeTool(CMakeProjectManager::CMakeTool::ManualDetection, > THE_ID_OF_YOUR_CMAKE_COMMAND); > cmakeTool->setAutorun(false); > cmakeTool->setCMakeExecutable("...."); > cmakeTool->setDisplayName("...."); > > CMakeProjectManager::CMakeToolManager::registerCMakeTool(cmakeTool); > /* ^^^^^ do this group once ^^^^^^ */ > > CMakeProjectManager::CMakeKitInformation::setCMakeTool(kit, > THE_ID_OF_YOUR_CMAKE_COMMAND); > CMakeProjectManager::CMakeGeneratorKitInformation::setGenerator(kit, > "..."); > CMakeProjectManager::CMakeGeneratorKitInformation::setExtraGenerator(kit, > "...."); > CMakeProjectManager::CMakeConfigurationKitInformation::setConfiguration(kit, > CMakeProjectManager::CMakeConfig(...)); > > > - Qt can be set up in a similar way. Unfortunately, I don't know how, > cause I'm not using Qt libraries for my kit, so I clear out the information > in the kit: > > QmakeProjectManager::QmakeKitInformation::setMkspec(kit, > Utils::FileName()); > QtSupport::QtKitInformation::setQtVersionId(kit, 0); > > Maybe you can have a look at those function calls, and specify different > parameters. > > > - Debugger: > > Debugger::DebuggerItem debugger; > > debugger.setCommand("..."); > debugger.setEngineType(Debugger::GdbEngineType or Debugger::CdbEngineType > ); > > debugger.setUnexpandedDisplayName("..."); > debugger.setAutoDetected(true); > debugger.setAbi(tc->targetAbi()); > debugger.setWorkingDirectory("..."); > debugger.reinitializeFromFile(); > > Debugger::DebuggerKitInformation::setDebugger(kit, > Debugger::DebuggerItemManager::registerDebugger(debugger)); > > > - Device type (Desktop in my case): > > ProjectExplorer::DeviceTypeKitInformation::setDeviceTypeId(kit, > ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); > > > When you're done, you register the kit: > > ProjectExplorer::KitManager::registerKit(kit); > > > In order to consume it, you need a target: > > ProjectExplorer::Target *tgt = createTarget(kit); > tgt->setDefaultDisplayName("..."); > tgt->setDisplayName("..."); > addTarget(tgt); > > That's it. > > > > Toolchains can be unregistered using: > > ProjectExplorer::ToolChainKitInformation::clearToolChain(kit, > tc->language()); > ProjectExplorer::ToolChainManager::deregisterToolChain(tc); > > So the debugger: > > const Debugger::DebuggerItem *dbgItem = Debugger::DebuggerKitInformation:: > debugger(kit); > > if (dbgItem) > Debugger::DebuggerItemManager::deregisterDebugger(dbgItem->id()); > > the kit: > > ProjectExplorer::KitManager::deregisterKit(kit); > > and your CMake tool: > > CMakeProjectManager::CMakeToolManager::deregisterCMakeTool(THE_ID_OF_ > YOUR_CMAKE_COMMAND); > > > > Those are the basics. If you need more help, please ask for a specific > topic, cause it's very wide to be fully explained. > > Hope that this will help you. > > BR, > Antonio > > > From: "Vidhya Arun" svidhyapria at gmail.com > To: "Antonio Di Monaco" tony at becrux.com > Cc: qt-creator at qt-project.org > Date: Wed, 27 Dec 2017 16:45:01 +0000 > Subject: [Qt-creator] Update QtCreator kits thru plugin > > Hi > > I am trying to create my plugin to create the kit to update sysroot, > target connection details,etc. > > But I couldn't locate how to update sysroot and other details of Qt > creator thru plugin. Any suggestions would be appreciated. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From timur.kristof at gmail.com Mon Jan 1 18:34:04 2018 From: timur.kristof at gmail.com (timur.kristof at gmail.com) Date: Mon, 01 Jan 2018 18:34:04 +0100 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> Message-ID: <1514828044.8564.31.camel@gmail.com> Did you try with the clang code model? On Mon, 2018-01-01 at 20:17 +0300, Карелин Павел wrote: > Hi! I congratulate all with come New year! > > > > In my project I use std::condition_variable. But using > std::condition_variable is not very convenient, since its methods > are not available in the QtC editor. See picture in attachment. > > How to make std::condition_variable methods accessible? > > I use QtC 4.5 gitrev: 30bd05b792259a559e98c6a19035f7b6adaac1ce > > > > > -- > > BR, Pavel Karelin > > > > > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator -------------- next part -------------- An HTML attachment was scrubbed... URL: From hkarel at yandex.ru Mon Jan 1 18:39:14 2018 From: hkarel at yandex.ru (=?UTF-8?B?0JrQsNGA0LXQu9C40L0g0J/QsNCy0LXQuw==?=) Date: Mon, 1 Jan 2018 20:39:14 +0300 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: <1514828044.8564.31.camel@gmail.com> References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> <1514828044.8564.31.camel@gmail.com> Message-ID: <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> 01.01.2018 20:34, timur.kristof at gmail.com пишет: > Did you try with the clang code model? I use the GCC compiler only. Is it possible to use the clang model in this case? In addition, I have a fairly old OS: Ubuntu 14.04. > > On Mon, 2018-01-01 at 20:17 +0300, Карелин Павел wrote: >> Hi! I congratulate all with come New year! >> >> In my project I use std::condition_variable. But using >> std::condition_variable is not very convenient, since its methods are >> not available in the QtC editor. See picture in attachment. >> How to make std::condition_variable methods accessible? >> I use QtC 4.5 gitrev: 30bd05b792259a559e98c6a19035f7b6adaac1ce >> >> -- >> BR, Pavel Karelin >> _______________________________________________ >> Qt-creator mailing list >> Qt-creator at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/qt-creator -------------- next part -------------- An HTML attachment was scrubbed... URL: From tony at becrux.com Mon Jan 1 21:19:10 2018 From: tony at becrux.com (Antonio Di Monaco) Date: Mon, 1 Jan 2018 21:19:10 +0100 Subject: [Qt-creator] Update QtCreator kits thru plugin In-Reply-To: References: =?iso-8859-1?q?=3CP1MDY0=2443197B3B19FB87CFAAC85012FBA593E4=40becrux?= =?iso-8859-1?q?=2Ecom=3E_=3CCABfbfpZCnxPEMp=3Dckag72=5FbeROctf9AdKY?= =?iso-8859-1?q?=2BN6HmDQ=2BZjdXhfGQ=40mail=2Egmail=2Ecom=3E_=3CP1OK69?= =?iso-8859-1?q?=247454FDA22448D71192B274F92C561241=40becrux=2Ecom=3E_?= =?iso-8859-1?q?=3CCABfbfpYfea9L5=2BybWC=5Fq7xw8ZXOTM=3DoqVS9=5F15cCA4?= =?iso-8859-1?q?53f9mfSQ=40mail=2Egmail=2Ecom=3E?= Message-ID: Hi Arun, my kits are created when the project is loaded. My code starts in Project::fromMap method. In case you'd like to create your kits at plugin startup, then you need a different method, i.e. YourPluginClass::extensionsInitialized or YourPluginClass::initialize (I assume the first one is better). Of course, you cannot create any target, just kits, toolchains and tools. Thanks, A.  From: "Vidhya Arun" svidhyapria at gmail.com To: "Antonio Di Monaco" tony at becrux.com Cc: qt-creator at qt-project.org Date: Mon, 1 Jan 2018 22:51:15 +0530 Subject: Re: [Qt-creator] Update QtCreator kits thru plugin Hi Antonio Tried your steps and built the plugin. Is the kit expected to be listed automatically under Tools/Options/Build &Run/Kits once the plugin is built and loaded successfully in Qt creator ? Unfortunately I dont see my kit listed there when i execute the plugin ? Meanwhile are all the steps mandatory to be followed. Initially I just wanted to check if the kit gets created with the registered kit name and toolchain, sysroot details added in plugin. Thats not happening yet. Any hints on what could have gone wrong here ? -Vidhya On Thu, Dec 28, 2017 at 10:21 PM, Antonio Di Monaco wrote: Hi Arun, unfortunately I cannot share the code, but I can provide you some basic steps in order to do that. Please note that what I'm posting is just the result of my understanding of the Qt Creator code, so I could be not correct 100%. I was not able to find any kind of documentation, so YMMV. Basically, you need to create a toolchain first. You can subclass from ProjectExplorer::GccToolchain, in order to create a GCC/Clang toolchain, or ProjectExplorer::Internal::AbstractMsvcToolchain, for MSVC compiler (yeah, that should not be allowed, but there are no MSVC base classes that are exported through the PROJECTEXPLORER_EXPORT macro. Anyway, it works, you just need some code from MsvcToolchain class). Once you have it, create a Kit in your Project class. You can do it in the fromMap method, for example (called when your project is loaded): ProjectExplorer::Kit *kit = new ProjectExplorer::Kit(YOUR_ID); kit->setUnexpandedDisplayName(YOUR_DISPLAY_NAME); kit->setAutoDetected(false); You can add your personal values too, using: kit->setValueSilently(KEY, VALUE); that you can access later calling kit->value(KEY).  Then, you can add all the required information: - sysroot: ProjectExplorer::SysRootKitInformation::setSysRoot(kit, PATH_OF_THE_SYSROOT);   - toolchain: ProjectExplorer::ToolChain *tc = new Your_ToolChain_Class(...); ProjectExplorer::ToolChainManager::registerToolChain(tc); ProjectExplorer::ToolChainKitInformation::setToolChain(kit, tc); you can add one for C, and one for C++, according to the LanguageId that you specify in Your_ToolChain_Class.   - If you have a CMake configuration for your kit, you can add it too: /* vvvvv do this group once vvvvv */  CMakeProjectManager::CMakeTool *cmakeTool = new CMakeProjectManager::CMakeTool(CMakeProjectManager::CMakeTool::ManualDetection, THE_ID_OF_YOUR_CMAKE_COMMAND); cmakeTool->setAutorun(false); cmakeTool->setCMakeExecutable("...."); cmakeTool->setDisplayName("...."); CMakeProjectManager::CMakeToolManager::registerCMakeTool(cmakeTool); /* ^^^^^ do this group once ^^^^^^ */     CMakeProjectManager::CMakeKitInformation::setCMakeTool(kit, THE_ID_OF_YOUR_CMAKE_COMMAND); CMakeProjectManager::CMakeGeneratorKitInformation::setGenerator(kit, "..."); CMakeProjectManager::CMakeGeneratorKitInformation::setExtraGenerator(kit, "...."); CMakeProjectManager::CMakeConfigurationKitInformation::setConfiguration(kit, CMakeProjectManager::CMakeConfig(...));   - Qt can be set up in a similar way. Unfortunately, I don't know how, cause I'm not using Qt libraries for my kit, so I clear out the information in the kit:  QmakeProjectManager::QmakeKitInformation::setMkspec(kit, Utils::FileName());  QtSupport::QtKitInformation::setQtVersionId(kit, 0); Maybe you can have a look at those function calls, and specify different parameters.   - Debugger: Debugger::DebuggerItem debugger; debugger.setCommand("..."); debugger.setEngineType(Debugger::GdbEngineType or Debugger::CdbEngineType); debugger.setUnexpandedDisplayName("..."); debugger.setAutoDetected(true); debugger.setAbi(tc->targetAbi()); debugger.setWorkingDirectory("..."); debugger.reinitializeFromFile(); Debugger::DebuggerKitInformation::setDebugger(kit, Debugger::DebuggerItemManager::registerDebugger(debugger));   - Device type (Desktop in my case): ProjectExplorer::DeviceTypeKitInformation::setDeviceTypeId(kit, ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); When you're done, you register the kit: ProjectExplorer::KitManager::registerKit(kit); In order to consume it, you need a target: ProjectExplorer::Target *tgt = createTarget(kit); tgt->setDefaultDisplayName("...");tgt->setDisplayName("...");addTarget(tgt); That's it.     Toolchains can be unregistered using:   ProjectExplorer::ToolChainKitInformation::clearToolChain(kit, tc->language());ProjectExplorer::ToolChainManager::deregisterToolChain(tc); So the debugger: const Debugger::DebuggerItem *dbgItem = Debugger::DebuggerKitInformation::debugger(kit); if (dbgItem)   Debugger::DebuggerItemManager::deregisterDebugger(dbgItem->id()); the kit: ProjectExplorer::KitManager::deregisterKit(kit); and your CMake tool: CMakeProjectManager::CMakeToolManager::deregisterCMakeTool(THE_ID_OF_YOUR_CMAKE_COMMAND);   Those are the basics. If you need more help, please ask for a specific topic, cause it's very wide to be fully explained. Hope that this will help you. BR, Antonio      From: "Vidhya Arun" svidhyapria at gmail.com To: "Antonio Di Monaco" tony at becrux.com Cc: qt-creator at qt-project.org Date: Wed, 27 Dec 2017 16:45:01 +0000 Subject: [Qt-creator] Update QtCreator kits thru plugin Hi I am trying to create my plugin to create the kit to update sysroot, target connection details,etc. But I couldn't locate how to update sysroot and other details of Qt creator thru plugin.  Any suggestions would be appreciated. -------------- next part -------------- An HTML attachment was scrubbed... URL: From svidhyapria at gmail.com Tue Jan 2 03:40:53 2018 From: svidhyapria at gmail.com (Vidhya Arun) Date: Tue, 2 Jan 2018 08:10:53 +0530 Subject: [Qt-creator] Update QtCreator kits thru plugin In-Reply-To: References: Message-ID: Yes Antonio , I did create in initialize methods only. I have created the kit, registered the toolchain and set the device type Id and left out the rest of steps to initially check if kit is loaded with some dummy data. I find the code getting executed but also I find below soft assert statements during execution. Not sure if these cause failure on listing the kits after execution Starting /opt/qtcreator-4.4.1/bin/qtcreator... QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' libGL error: pci id for fd 6: 80ee:beef, driver (null) libGL error: core dri or dri2 extension not found libGL error: failed to load driver: vboxvideo SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "isLanguageSupported(tc->language())" in file /work/build/qt-creator/src/plugins/projectexplorer/toolchainmanager.cpp, line 408 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitmanager.cpp, line 440 SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 SOFT ASSERT: "QtVersionManager::isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtkitinformation.cpp, line 76 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 SOFT ASSERT: "QtVersionManager::isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtkitinformation.cpp, line 76 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 No build configuration factory found for target id 'MyKit'. SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 No tool chain set up in kit "target" for "C". No tool chain set up in kit "target" for "C". Regards Vidhya On Tue, 2 Jan 2018 at 1:49 AM, Antonio Di Monaco wrote: > Hi Arun, > > my kits are created when the project is loaded. My code starts in > Project::fromMap method. > > In case you'd like to create your kits at plugin startup, then you need a > different method, i.e. YourPluginClass::extensionsInitialized or > YourPluginClass::initialize (I assume the first one is better). > > Of course, you cannot create any target, just kits, toolchains and tools. > > Thanks, > A. > > > From: "Vidhya Arun" svidhyapria at gmail.com > To: "Antonio Di Monaco" tony at becrux.com > Cc: qt-creator at qt-project.org > Date: Mon, 1 Jan 2018 22:51:15 +0530 > Subject: Re: [Qt-creator] Update QtCreator kits thru plugin > > Hi Antonio > > Tried your steps and built the plugin. Is the kit expected to be listed > automatically under Tools/Options/Build &Run/Kits once the plugin is built > and loaded successfully in Qt creator ? > Unfortunately I dont see my kit listed there when i execute the plugin ? > > Meanwhile are all the steps mandatory to be followed. Initially I just > wanted to check if the kit gets created with the registered kit name and > toolchain, sysroot details added in plugin. > Thats not happening yet. Any hints on what could have gone wrong here ? > > -Vidhya > > > On Thu, Dec 28, 2017 at 10:21 PM, Antonio Di Monaco > wrote: > >> Hi Arun, >> >> unfortunately I cannot share the code, but I can provide you some basic >> steps in order to do that. Please note that what I'm posting is just the >> result of my understanding of the Qt Creator code, so I could be not >> correct 100%. I was not able to find any kind of documentation, so YMMV. >> >> Basically, you need to create a toolchain first. You can subclass from >> ProjectExplorer::GccToolchain, in order to create a GCC/Clang toolchain, or >> ProjectExplorer::Internal::AbstractMsvcToolchain, for MSVC compiler >> (yeah, that should not be allowed, but there are no MSVC base classes that >> are exported through the PROJECTEXPLORER_EXPORT macro. Anyway, it works, >> you just need some code from MsvcToolchain class). >> >> Once you have it, create a Kit in your Project class. You can do it in >> the fromMap method, for example (called when your project is loaded): >> >> ProjectExplorer::Kit *kit = new ProjectExplorer::Kit(YOUR_ID); >> kit->setUnexpandedDisplayName(YOUR_DISPLAY_NAME); >> kit->setAutoDetected(false); >> >> You can add your personal values too, using: >> >> kit->setValueSilently(KEY, VALUE); >> >> that you can access later calling kit->value(KEY). >> >> Then, you can add all the required information: >> >> - sysroot: >> >> ProjectExplorer::SysRootKitInformation::setSysRoot(kit, >> PATH_OF_THE_SYSROOT); >> >> >> - toolchain: >> >> ProjectExplorer::ToolChain *tc = new Your_ToolChain_Class(...); >> ProjectExplorer::ToolChainManager::registerToolChain(tc); >> ProjectExplorer::ToolChainKitInformation::setToolChain(kit, tc); >> >> you can add one for C, and one for C++, according to the LanguageId that >> you specify in Your_ToolChain_Class. >> >> >> - If you have a CMake configuration for your kit, you can add it too: >> >> /* vvvvv do this group once vvvvv */ >> CMakeProjectManager::CMakeTool *cmakeTool = new CMakeProjectManager:: >> CMakeTool(CMakeProjectManager::CMakeTool::ManualDetection, >> THE_ID_OF_YOUR_CMAKE_COMMAND); >> cmakeTool->setAutorun(false); >> cmakeTool->setCMakeExecutable("...."); >> cmakeTool->setDisplayName("...."); >> >> CMakeProjectManager::CMakeToolManager::registerCMakeTool(cmakeTool); >> /* ^^^^^ do this group once ^^^^^^ */ >> >> CMakeProjectManager::CMakeKitInformation::setCMakeTool(kit, >> THE_ID_OF_YOUR_CMAKE_COMMAND); >> CMakeProjectManager::CMakeGeneratorKitInformation::setGenerator(kit, >> "..."); >> CMakeProjectManager::CMakeGeneratorKitInformation::setExtraGenerator(kit, >> "...."); >> CMakeProjectManager::CMakeConfigurationKitInformation::setConfiguration(kit, >> CMakeProjectManager::CMakeConfig(...)); >> >> >> - Qt can be set up in a similar way. Unfortunately, I don't know how, >> cause I'm not using Qt libraries for my kit, so I clear out the information >> in the kit: >> >> QmakeProjectManager::QmakeKitInformation::setMkspec(kit, >> Utils::FileName()); >> QtSupport::QtKitInformation::setQtVersionId(kit, 0); >> >> Maybe you can have a look at those function calls, and specify different >> parameters. >> >> >> - Debugger: >> >> Debugger::DebuggerItem debugger; >> >> debugger.setCommand("..."); >> debugger.setEngineType(Debugger::GdbEngineType or Debugger::CdbEngineType >> ); >> >> debugger.setUnexpandedDisplayName("..."); >> debugger.setAutoDetected(true); >> debugger.setAbi(tc->targetAbi()); >> debugger.setWorkingDirectory("..."); >> debugger.reinitializeFromFile(); >> >> Debugger::DebuggerKitInformation::setDebugger(kit, >> Debugger::DebuggerItemManager::registerDebugger(debugger)); >> >> >> - Device type (Desktop in my case): >> >> ProjectExplorer::DeviceTypeKitInformation::setDeviceTypeId(kit, >> ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); >> >> >> When you're done, you register the kit: >> >> ProjectExplorer::KitManager::registerKit(kit); >> >> >> In order to consume it, you need a target: >> >> ProjectExplorer::Target *tgt = createTarget(kit); >> tgt->setDefaultDisplayName("..."); >> tgt->setDisplayName("..."); >> addTarget(tgt); >> >> That's it. >> >> >> >> Toolchains can be unregistered using: >> >> ProjectExplorer::ToolChainKitInformation::clearToolChain(kit, >> tc->language()); >> ProjectExplorer::ToolChainManager::deregisterToolChain(tc); >> >> So the debugger: >> >> const Debugger::DebuggerItem *dbgItem = Debugger:: >> DebuggerKitInformation::debugger(kit); >> >> if (dbgItem) >> Debugger::DebuggerItemManager::deregisterDebugger(dbgItem->id()); >> >> the kit: >> >> ProjectExplorer::KitManager::deregisterKit(kit); >> >> and your CMake tool: >> >> CMakeProjectManager::CMakeToolManager::deregisterCMakeTool(THE_ID_OF_ >> YOUR_CMAKE_COMMAND); >> >> >> >> Those are the basics. If you need more help, please ask for a specific >> topic, cause it's very wide to be fully explained. >> >> Hope that this will help you. >> >> BR, >> Antonio >> >> >> From: "Vidhya Arun" svidhyapria at gmail.com >> To: "Antonio Di Monaco" tony at becrux.com >> Cc: qt-creator at qt-project.org >> Date: Wed, 27 Dec 2017 16:45:01 +0000 >> Subject: [Qt-creator] Update QtCreator kits thru plugin >> >> Hi >> >> I am trying to create my plugin to create the kit to update sysroot, >> target connection details,etc. >> >> But I couldn't locate how to update sysroot and other details of Qt >> creator thru plugin. Any suggestions would be appreciated. >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Eike.Ziller at qt.io Tue Jan 2 09:40:54 2018 From: Eike.Ziller at qt.io (Eike Ziller) Date: Tue, 2 Jan 2018 08:40:54 +0000 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> <1514828044.8564.31.camel@gmail.com> <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> Message-ID: > On 1. Jan 2018, at 18:39, Карелин Павел wrote: > > > > 01.01.2018 20:34, timur.kristof at gmail.com пишет: >> Did you try with the clang code model? > I use the GCC compiler only. Is it possible to use the clang model in this case? In addition, I have a fairly old OS: Ubuntu 14.04. Which compiler you use for compiling your code does not really matter for the decision on the code model that you use in Qt Creator (except possibly in borderline cases that you probably do not care about...). Even compiler specific defines should be correctly identifying your compiler to be GCC when you specify this in the kit. So you should definitely try the Clang code model - it handles many template situations and most C++11/14/17 situations much better than the built-in model. Br, Eike > >> >> On Mon, 2018-01-01 at 20:17 +0300, Карелин Павел wrote: >>> Hi! I congratulate all with come New year! >>> >>> In my project I use std::condition_variable. But using std::condition_variable is not very convenient, since its methods are not available in the QtC editor. See picture in attachment. >>> How to make std::condition_variable methods accessible? >>> I use QtC 4.5 gitrev: 30bd05b792259a559e98c6a19035f7b6adaac1ce >>> >>> -- >>> BR, Pavel Karelin >>> _______________________________________________ >>> Qt-creator mailing list >>> >>> Qt-creator at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/qt-creator > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator From Eike.Ziller at qt.io Tue Jan 2 09:50:00 2018 From: Eike.Ziller at qt.io (Eike Ziller) Date: Tue, 2 Jan 2018 08:50:00 +0000 Subject: [Qt-creator] Update QtCreator kits thru plugin In-Reply-To: References: Message-ID: <027139A2-0689-4277-AEB0-F74962CF9C10@qt.io> > On 2. Jan 2018, at 03:40, Vidhya Arun wrote: > > Yes Antonio , I did create in initialize methods only. I have created the kit, registered the toolchain and set the device type Id and left out the rest of steps to initially check if kit is loaded with some dummy data. > I find the code getting executed but also I find below soft assert statements during execution. Not sure if these cause failure on listing the kits after execution > > Starting /opt/qtcreator-4.4.1/bin/qtcreator... > QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' > libGL error: pci id for fd 6: 80ee:beef, driver (null) > libGL error: core dri or dri2 extension not found > libGL error: failed to load driver: vboxvideo > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "isLanguageSupported(tc->language())" in file /work/build/qt-creator/src/plugins/projectexplorer/toolchainmanager.cpp, line 408 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitmanager.cpp, line 440 > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 > SOFT ASSERT: "QtVersionManager::isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtkitinformation.cpp, line 76 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 > SOFT ASSERT: "QtVersionManager::isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtkitinformation.cpp, line 76 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "isLoaded()" in file /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > No build configuration factory found for target id 'MyKit'. > SOFT ASSERT: "ToolChainManager::isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 385 > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line 727 > No tool chain set up in kit "target" for "C". > No tool chain set up in kit "target" for "C”. These asserts mean that you are trying to do things with tool chains and kits too early. The kits are only restored in the ProjectExplorer plugin’s delayedInitialize() (http://doc-snapshots.qt.io/qtcreator-extending/plugin-lifecycle.html), so if you can not work with kits/toolchains in your initialize(). A sensible way for you to delay the actions that you take is probably to connect to ProjectExplorer::KitManager::kitsLoaded() and do it there. Br, Eike > Regards > Vidhya > > > > On Tue, 2 Jan 2018 at 1:49 AM, Antonio Di Monaco wrote: > Hi Arun, > > my kits are created when the project is loaded. My code starts in Project::fromMap method. > > In case you'd like to create your kits at plugin startup, then you need a different method, i.e. YourPluginClass::extensionsInitialized or YourPluginClass::initialize (I assume the first one is better). > > Of course, you cannot create any target, just kits, toolchains and tools. > > Thanks, > A. > > > From: "Vidhya Arun" svidhyapria at gmail.com > To: "Antonio Di Monaco" tony at becrux.com > Cc: qt-creator at qt-project.org > Date: Mon, 1 Jan 2018 22:51:15 +0530 > Subject: Re: [Qt-creator] Update QtCreator kits thru plugin > > Hi Antonio > > Tried your steps and built the plugin. Is the kit expected to be listed automatically under Tools/Options/Build &Run/Kits once the plugin is built and loaded successfully in Qt creator ? > Unfortunately I dont see my kit listed there when i execute the plugin ? > > Meanwhile are all the steps mandatory to be followed. Initially I just wanted to check if the kit gets created with the registered kit name and toolchain, sysroot details added in plugin. > Thats not happening yet. Any hints on what could have gone wrong here ? > > -Vidhya > > > On Thu, Dec 28, 2017 at 10:21 PM, Antonio Di Monaco wrote: > Hi Arun, > > unfortunately I cannot share the code, but I can provide you some basic steps in order to do that. Please note that what I'm posting is just the result of my understanding of the Qt Creator code, so I could be not correct 100%. I was not able to find any kind of documentation, so YMMV. > > Basically, you need to create a toolchain first. You can subclass from ProjectExplorer::GccToolchain, in order to create a GCC/Clang toolchain, or ProjectExplorer::Internal::AbstractMsvcToolchain, for MSVC compiler (yeah, that should not be allowed, but there are no MSVC base classes that are exported through the PROJECTEXPLORER_EXPORT macro. Anyway, it works, you just need some code from MsvcToolchain class). > > Once you have it, create a Kit in your Project class. You can do it in the fromMap method, for example (called when your project is loaded): > > ProjectExplorer::Kit *kit = new ProjectExplorer::Kit(YOUR_ID); > kit->setUnexpandedDisplayName(YOUR_DISPLAY_NAME); > kit->setAutoDetected(false); > > You can add your personal values too, using: > > kit->setValueSilently(KEY, VALUE); > > that you can access later calling kit->value(KEY). > > Then, you can add all the required information: > > - sysroot: > > ProjectExplorer::SysRootKitInformation::setSysRoot(kit, PATH_OF_THE_SYSROOT); > > > - toolchain: > > ProjectExplorer::ToolChain *tc = new Your_ToolChain_Class(...); > ProjectExplorer::ToolChainManager::registerToolChain(tc); > ProjectExplorer::ToolChainKitInformation::setToolChain(kit, tc); > > you can add one for C, and one for C++, according to the LanguageId that you specify in Your_ToolChain_Class. > > > - If you have a CMake configuration for your kit, you can add it too: > > /* vvvvv do this group once vvvvv */ > CMakeProjectManager::CMakeTool *cmakeTool = new CMakeProjectManager::CMakeTool(CMakeProjectManager::CMakeTool::ManualDetection, THE_ID_OF_YOUR_CMAKE_COMMAND); > cmakeTool->setAutorun(false); > cmakeTool->setCMakeExecutable("...."); > cmakeTool->setDisplayName("...."); > > CMakeProjectManager::CMakeToolManager::registerCMakeTool(cmakeTool); > /* ^^^^^ do this group once ^^^^^^ */ > > CMakeProjectManager::CMakeKitInformation::setCMakeTool(kit, THE_ID_OF_YOUR_CMAKE_COMMAND); > CMakeProjectManager::CMakeGeneratorKitInformation::setGenerator(kit, "..."); > CMakeProjectManager::CMakeGeneratorKitInformation::setExtraGenerator(kit, "...."); > CMakeProjectManager::CMakeConfigurationKitInformation::setConfiguration(kit, CMakeProjectManager::CMakeConfig(...)); > > > - Qt can be set up in a similar way. Unfortunately, I don't know how, cause I'm not using Qt libraries for my kit, so I clear out the information in the kit: > > QmakeProjectManager::QmakeKitInformation::setMkspec(kit, Utils::FileName()); > QtSupport::QtKitInformation::setQtVersionId(kit, 0); > > Maybe you can have a look at those function calls, and specify different parameters. > > > - Debugger: > > Debugger::DebuggerItem debugger; > > debugger.setCommand("..."); > debugger.setEngineType(Debugger::GdbEngineType or Debugger::CdbEngineType); > > debugger.setUnexpandedDisplayName("..."); > debugger.setAutoDetected(true); > debugger.setAbi(tc->targetAbi()); > debugger.setWorkingDirectory("..."); > debugger.reinitializeFromFile(); > > Debugger::DebuggerKitInformation::setDebugger(kit, Debugger::DebuggerItemManager::registerDebugger(debugger)); > > > - Device type (Desktop in my case): > > ProjectExplorer::DeviceTypeKitInformation::setDeviceTypeId(kit, ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); > > > When you're done, you register the kit: > > ProjectExplorer::KitManager::registerKit(kit); > > > In order to consume it, you need a target: > > ProjectExplorer::Target *tgt = createTarget(kit); > tgt->setDefaultDisplayName("..."); > tgt->setDisplayName("..."); > addTarget(tgt); > > That's it. > > > > Toolchains can be unregistered using: > > ProjectExplorer::ToolChainKitInformation::clearToolChain(kit, tc->language()); > ProjectExplorer::ToolChainManager::deregisterToolChain(tc); > > So the debugger: > > const Debugger::DebuggerItem *dbgItem = Debugger::DebuggerKitInformation::debugger(kit); > > if (dbgItem) > Debugger::DebuggerItemManager::deregisterDebugger(dbgItem->id()); > > the kit: > > ProjectExplorer::KitManager::deregisterKit(kit); > > and your CMake tool: > > CMakeProjectManager::CMakeToolManager::deregisterCMakeTool(THE_ID_OF_YOUR_CMAKE_COMMAND); > > > > Those are the basics. If you need more help, please ask for a specific topic, cause it's very wide to be fully explained. > > Hope that this will help you. > > BR, > Antonio > > > From: "Vidhya Arun" svidhyapria at gmail.com > To: "Antonio Di Monaco" tony at becrux.com > Cc: qt-creator at qt-project.org > Date: Wed, 27 Dec 2017 16:45:01 +0000 > Subject: [Qt-creator] Update QtCreator kits thru plugin > > Hi > > I am trying to create my plugin to create the kit to update sysroot, target connection details,etc. > > But I couldn't locate how to update sysroot and other details of Qt creator thru plugin. Any suggestions would be appreciated. > > > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator From nikolai.kosjar at qt.io Tue Jan 2 10:16:28 2018 From: nikolai.kosjar at qt.io (Nikolai Kosjar) Date: Tue, 2 Jan 2018 10:16:28 +0100 Subject: [Qt-creator] Clang Model plugin interface In-Reply-To: References: Message-ID: <9fa4c88f-d18f-dfd9-321c-3a88cce94efc@qt.io> On 12/15/2017 05:11 PM, Antonio Di Monaco wrote: > Hi, > > I'm writing a Qt Creator plugin to support our own custom build process. > > My issue is that I cannot find a way to interact with the Clang Code > Model plugin, in order to pass to it specific compile options (in my > case, it's --gcc-toolchain). > > In detail, my plugin automates the kit creation, in order to find out > the custom compiler, debugger, and all other stuff we need to build, > including our build tool. I'm populating the CppTools::RawProjectsParts > data structure according > to the specific toolchain that has been selected by the user (that could > be a Clang, GCC or MSVC compiler), and everything works fine, as long as > I work with the built-in C++ Code Model. > > When I activate the Clang Code Model and GCC profile is activated, as > the same CppTools::RawProjectsParts data is accessed (is it true or did > I miss something?), I encounter a failure, cause if I add the > "--gcc-toolchain" parameter, Clang model works, but the built-in fails. > And if not, of course the opposite happens, and I'd like to have both > running. > > I'd like just to interact with the Clang Code Model at "run-time" and, > behind the scene, add my mandatory options to it, without asking the > user for a UI settings change (also cause the path passed to the > "gcc-toolchain" parameter changes according to the profile selected by > the user). > > My question is: is there an interface, or anything similar, that I can > use in order to add such parameters to clang model only? I could also > change the Qt Creator code, but I'd like to go for the clean way, if > there's any. > > Thanks for your help! > A. Hi! There is no interface for this right now. All the information for the libclang command line come from the RawProjectsParts and the diagnostic options the user has configured. Currently, no concrete options are forwardable directly with RawProjectsPart because libclang might now understand them, depending on your toolchain.... There is CppModelManager::updateCompilerCallDataForProject(), which basically allows to set a command line, but it's used for the clang static analyzer plugin (not the clang code model) and the qbs project only so far. I suggest that you modify the Qt Creator code to suit your needs and then push it for review. Nikolai From nikolai.kosjar at qt.io Tue Jan 2 10:26:21 2018 From: nikolai.kosjar at qt.io (Nikolai Kosjar) Date: Tue, 2 Jan 2018 10:26:21 +0100 Subject: [Qt-creator] SyntaxHighlighting + Bison/FLex In-Reply-To: References: <94cb0d80-01a2-1977-cad0-72b34334b2ab@qt.io> Message-ID: <70a5ff4e-b3a3-9a8b-f7b9-f295248aeb14@qt.io> Hi! Within your derived TextEditor::SyntaxHighlighter class, you should be able to access currentBlock().blockNumber() - if you document does not have any fancy layout items (images, tables), that one should correspond to the line number (maybe off by one, don't remember). You probably would also derive from TextEditor::TextDocument. From there, you can start your async lexing/parsing operation if the document is opened or changed. Connect to IDocument::filePathChanged and Core::IDocument::contentsChanged. See e.g. CppEditorDocument for details (this is more than you need, your version would look much simpler). Nikolai On 11/23/2017 10:26 AM, JeremY Larrieu wrote: > Hello > > @Eike that's exactly what I wanna do. But I don't know where I can > connect tout this signals and the "highlightBlock" method doesn't > provide the line number to highlight nor from which file the line comes > from. > > Jeremy > > Le 23 nov. 2017 10:06, "JeremY Larrieu" > a écrit : > > Hello, > > Thanks for your answers. > > I will look to semantic highlighting. > The purpose seems to fit my needs: syntax highlighting, symbol > detection, ... each time a file is opened or modified. > > @Nikolai the lex file works with at most 4/5 states and was not made > to work line by line. Modifying it in this direction will not help > me to stick closer to the language when new features will come. I > will have to make too many updates to my lex file each time the > one's coming with the language is updated. > > Thanks again. > > Jeremy > > Le 23 nov. 2017 09:19, "Nikolai Kosjar" > a écrit : > > On 11/23/2017 07:29 AM, JeremY Larrieu wrote: > > Hello, > > I'm working on making a plugin to support a specific > language: Anubis. > > I've started the highlighting part and I saw that QtCreator > is making syntax highlighting line by line instead of making > it "globally" for the whole file. > > I just wanna know, how can I use the Bison/Flex files, used > to check syntax for Anubis language, to make syntax > highlighting in QtCreator. > Knowing that most of the tokens declared in the Flex file > can be multiline, making a lexer, working line by line, able > to detect those tokens is hard and the code is too "verbose". > > I've tried to adapt what I've found in Bison/Flex files to > make a syntax highlighter, but it's really painful and it > makes further updates harder. > If I was able to apply highlighting on the whole file (not > line by line), it were simpler and I could use it to make > some other functionalities at the same time: code > completion, code analysis, symbol detection, ... > > Do you have an idea on how I can make syntax highlighting > without rewriting a full lexer ? > > Thanks in advance. > > Jeremy > > > Hi! > > I guess you've found TextEditor::SyntaxHighlighter, which does > the line by line highlighting with highlightBlock(). For C++ and > multi-line tokens (e.g. C comments) we call our custom lexer for > the current line with the lexer state from the line before. If > flex provides such a state based yylex() equivalent, this might > work. > > The alternative is to use > SemanticHighlighter::incrementalApplyExtraAdditionalFormats(). > With this one, you can for example start parsing in a worker > thread and provide the highlighting information as a stream of > TextEditor::HighlightingResult items. > > Nikolai > From hkarel at yandex.ru Tue Jan 2 18:51:17 2018 From: hkarel at yandex.ru (=?UTF-8?B?0JrQsNGA0LXQu9C40L0g0J/QsNCy0LXQuw==?=) Date: Tue, 2 Jan 2018 20:51:17 +0300 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> <1514828044.8564.31.camel@gmail.com> <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> Message-ID: <7f74a95c-e571-f11a-9dfa-89fc5ec8892a@yandex.ru> 02.01.2018 11:40, Eike Ziller пишет: > >> On 1. Jan 2018, at 18:39, Карелин Павел wrote: >> >> >> >> 01.01.2018 20:34, timur.kristof at gmail.com пишет: >>> Did you try with the clang code model? >> I use the GCC compiler only. Is it possible to use the clang model in this case? In addition, I have a fairly old OS: Ubuntu 14.04. > Which compiler you use for compiling your code does not really matter for the decision on the code model that you use in Qt Creator (except possibly in borderline cases that you probably do not care about...). Even compiler specific defines should be correctly identifying your compiler to be GCC when you specify this in the kit. > So you should definitely try the Clang code model - it handles many template situations and most C++11/14/17 situations much better than the built-in model. > > Br, Eike a) Failed to build the  "Clang Code Model" plugin on my system (Kubuntu 14.04). Cause: On "my" system can install llvm-3.9, but I do not have the file /usr/lib/llvm-3.9/include/llvm-s/Inndex.h, so the validation of the clanProbes does not work. b) I installed the pre-build QtC 4.5.0. ClangCode model - works. The std::condition_variable highlighting correctly, but many warnings from system header-files that I would prefer not to see. I assume that the system header-files are written correctly ;) c) I decided to dwell on the original version, but slightly modified. I add "-std=c++11" in the function languageOption() static const QStringList languageOption(Core::Id languageId) {     if (languageId == Constants::C_LANGUAGE_ID)         return {"-x", "c"};     return {"-x", "c++", "-std=c++11"}; } Now the std::condition_variable highlighting correctly. So far I have decided to stop on it variant. BR, Pavel. > >>> On Mon, 2018-01-01 at 20:17 +0300, Карелин Павел wrote: >>>> Hi! I congratulate all with come New year! >>>> >>>> In my project I use std::condition_variable. But using std::condition_variable is not very convenient, since its methods are not available in the QtC editor. See picture in attachment. >>>> How to make std::condition_variable methods accessible? >>>> I use QtC 4.5 gitrev: 30bd05b792259a559e98c6a19035f7b6adaac1ce >>>> >>>> -- >>>> BR, Pavel Karelin >>>> _______________________________________________ >>>> Qt-creator mailing list >>>> >>>> Qt-creator at qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/qt-creator >> _______________________________________________ >> Qt-creator mailing list >> Qt-creator at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/qt-creator -------------- next part -------------- An HTML attachment was scrubbed... URL: From jame5.lee at yandex.ru Tue Jan 2 23:00:40 2018 From: jame5.lee at yandex.ru (James Lee) Date: Wed, 03 Jan 2018 00:00:40 +0200 Subject: [Qt-creator] How does QtCreator access (Build&Run) settings? Message-ID: <1066181514930440@web2j.yandex.ru> An HTML attachment was scrubbed... URL: From svidhyapria at gmail.com Wed Jan 3 08:19:28 2018 From: svidhyapria at gmail.com (Vidhya Arun) Date: Wed, 03 Jan 2018 07:19:28 +0000 Subject: [Qt-creator] Update QtCreator kits thru plugin In-Reply-To: <027139A2-0689-4277-AEB0-F74962CF9C10@qt.io> References: <027139A2-0689-4277-AEB0-F74962CF9C10@qt.io> Message-ID: Thank you Eike. This was the issue. It works fine when I try mapping with some action instead of initialize or delayInitialize methods. -Vidhya On Tue, 2 Jan 2018 at 2:20 PM, Eike Ziller wrote: > > > > On 2. Jan 2018, at 03:40, Vidhya Arun wrote: > > > > Yes Antonio , I did create in initialize methods only. I have created > the kit, registered the toolchain and set the device type Id and left out > the rest of steps to initially check if kit is loaded with some dummy data. > > I find the code getting executed but also I find below soft assert > statements during execution. Not sure if these cause failure on listing the > kits after execution > > > > Starting /opt/qtcreator-4.4.1/bin/qtcreator... > > QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to > '/tmp/runtime-root' > > libGL error: pci id for fd 6: 80ee:beef, driver (null) > > libGL error: core dri or dri2 extension not found > > libGL error: failed to load driver: vboxvideo > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "isLanguageSupported(tc->language())" in file > /work/build/qt-creator/src/plugins/projectexplorer/toolchainmanager.cpp, > line 408 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitmanager.cpp, line 440 > > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 727 > > SOFT ASSERT: "QtVersionManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtkitinformation.cpp, line 76 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 727 > > SOFT ASSERT: "QtVersionManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtkitinformation.cpp, line 76 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 727 > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "isLoaded()" in file > /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 > > No build configuration factory found for target id 'MyKit'. > > SOFT ASSERT: "ToolChainManager::isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 385 > > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 727 > > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 727 > > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file > /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line > 727 > > No tool chain set up in kit "target" for "C". > > No tool chain set up in kit "target" for "C”. > > These asserts mean that you are trying to do things with tool chains and > kits too early. The kits are only restored in the ProjectExplorer plugin’s > delayedInitialize() ( > http://doc-snapshots.qt.io/qtcreator-extending/plugin-lifecycle.html), so > if you can not work with kits/toolchains in your initialize(). > A sensible way for you to delay the actions that you take is probably to > connect to ProjectExplorer::KitManager::kitsLoaded() and do it there. > > Br, Eike > > > Regards > > Vidhya > > > > > > > > On Tue, 2 Jan 2018 at 1:49 AM, Antonio Di Monaco > wrote: > > Hi Arun, > > > > my kits are created when the project is loaded. My code starts in > Project::fromMap method. > > > > In case you'd like to create your kits at plugin startup, then you need > a different method, i.e. YourPluginClass::extensionsInitialized or > YourPluginClass::initialize (I assume the first one is better). > > > > Of course, you cannot create any target, just kits, toolchains and tools. > > > > Thanks, > > A. > > > > > > From: "Vidhya Arun" svidhyapria at gmail.com > > To: "Antonio Di Monaco" tony at becrux.com > > Cc: qt-creator at qt-project.org > > Date: Mon, 1 Jan 2018 22:51:15 +0530 > > Subject: Re: [Qt-creator] Update QtCreator kits thru plugin > > > > Hi Antonio > > > > Tried your steps and built the plugin. Is the kit expected to be listed > automatically under Tools/Options/Build &Run/Kits once the plugin is built > and loaded successfully in Qt creator ? > > Unfortunately I dont see my kit listed there when i execute the plugin ? > > > > Meanwhile are all the steps mandatory to be followed. Initially I just > wanted to check if the kit gets created with the registered kit name and > toolchain, sysroot details added in plugin. > > Thats not happening yet. Any hints on what could have gone wrong here ? > > > > -Vidhya > > > > > > On Thu, Dec 28, 2017 at 10:21 PM, Antonio Di Monaco > wrote: > > Hi Arun, > > > > unfortunately I cannot share the code, but I can provide you some basic > steps in order to do that. Please note that what I'm posting is just the > result of my understanding of the Qt Creator code, so I could be not > correct 100%. I was not able to find any kind of documentation, so YMMV. > > > > Basically, you need to create a toolchain first. You can subclass from > ProjectExplorer::GccToolchain, in order to create a GCC/Clang toolchain, or > ProjectExplorer::Internal::AbstractMsvcToolchain, for MSVC compiler (yeah, > that should not be allowed, but there are no MSVC base classes that are > exported through the PROJECTEXPLORER_EXPORT macro. Anyway, it works, you > just need some code from MsvcToolchain class). > > > > Once you have it, create a Kit in your Project class. You can do it in > the fromMap method, for example (called when your project is loaded): > > > > ProjectExplorer::Kit *kit = new ProjectExplorer::Kit(YOUR_ID); > > kit->setUnexpandedDisplayName(YOUR_DISPLAY_NAME); > > kit->setAutoDetected(false); > > > > You can add your personal values too, using: > > > > kit->setValueSilently(KEY, VALUE); > > > > that you can access later calling kit->value(KEY). > > > > Then, you can add all the required information: > > > > - sysroot: > > > > ProjectExplorer::SysRootKitInformation::setSysRoot(kit, > PATH_OF_THE_SYSROOT); > > > > > > - toolchain: > > > > ProjectExplorer::ToolChain *tc = new Your_ToolChain_Class(...); > > ProjectExplorer::ToolChainManager::registerToolChain(tc); > > ProjectExplorer::ToolChainKitInformation::setToolChain(kit, tc); > > > > you can add one for C, and one for C++, according to the LanguageId that > you specify in Your_ToolChain_Class. > > > > > > - If you have a CMake configuration for your kit, you can add it too: > > > > /* vvvvv do this group once vvvvv */ > > CMakeProjectManager::CMakeTool *cmakeTool = new > CMakeProjectManager::CMakeTool(CMakeProjectManager::CMakeTool::ManualDetection, > THE_ID_OF_YOUR_CMAKE_COMMAND); > > cmakeTool->setAutorun(false); > > cmakeTool->setCMakeExecutable("...."); > > cmakeTool->setDisplayName("...."); > > > > CMakeProjectManager::CMakeToolManager::registerCMakeTool(cmakeTool); > > /* ^^^^^ do this group once ^^^^^^ */ > > > > CMakeProjectManager::CMakeKitInformation::setCMakeTool(kit, > THE_ID_OF_YOUR_CMAKE_COMMAND); > > CMakeProjectManager::CMakeGeneratorKitInformation::setGenerator(kit, > "..."); > > > CMakeProjectManager::CMakeGeneratorKitInformation::setExtraGenerator(kit, > "...."); > > > CMakeProjectManager::CMakeConfigurationKitInformation::setConfiguration(kit, > CMakeProjectManager::CMakeConfig(...)); > > > > > > - Qt can be set up in a similar way. Unfortunately, I don't know how, > cause I'm not using Qt libraries for my kit, so I clear out the information > in the kit: > > > > QmakeProjectManager::QmakeKitInformation::setMkspec(kit, > Utils::FileName()); > > QtSupport::QtKitInformation::setQtVersionId(kit, 0); > > > > Maybe you can have a look at those function calls, and specify different > parameters. > > > > > > - Debugger: > > > > Debugger::DebuggerItem debugger; > > > > debugger.setCommand("..."); > > debugger.setEngineType(Debugger::GdbEngineType or > Debugger::CdbEngineType); > > > > debugger.setUnexpandedDisplayName("..."); > > debugger.setAutoDetected(true); > > debugger.setAbi(tc->targetAbi()); > > debugger.setWorkingDirectory("..."); > > debugger.reinitializeFromFile(); > > > > Debugger::DebuggerKitInformation::setDebugger(kit, > Debugger::DebuggerItemManager::registerDebugger(debugger)); > > > > > > - Device type (Desktop in my case): > > > > ProjectExplorer::DeviceTypeKitInformation::setDeviceTypeId(kit, > ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); > > > > > > When you're done, you register the kit: > > > > ProjectExplorer::KitManager::registerKit(kit); > > > > > > In order to consume it, you need a target: > > > > ProjectExplorer::Target *tgt = createTarget(kit); > > tgt->setDefaultDisplayName("..."); > > tgt->setDisplayName("..."); > > addTarget(tgt); > > > > That's it. > > > > > > > > Toolchains can be unregistered using: > > > > ProjectExplorer::ToolChainKitInformation::clearToolChain(kit, > tc->language()); > > ProjectExplorer::ToolChainManager::deregisterToolChain(tc); > > > > So the debugger: > > > > const Debugger::DebuggerItem *dbgItem = > Debugger::DebuggerKitInformation::debugger(kit); > > > > if (dbgItem) > > Debugger::DebuggerItemManager::deregisterDebugger(dbgItem->id()); > > > > the kit: > > > > ProjectExplorer::KitManager::deregisterKit(kit); > > > > and your CMake tool: > > > > > CMakeProjectManager::CMakeToolManager::deregisterCMakeTool(THE_ID_OF_YOUR_CMAKE_COMMAND); > > > > > > > > Those are the basics. If you need more help, please ask for a specific > topic, cause it's very wide to be fully explained. > > > > Hope that this will help you. > > > > BR, > > Antonio > > > > > > From: "Vidhya Arun" svidhyapria at gmail.com > > To: "Antonio Di Monaco" tony at becrux.com > > Cc: qt-creator at qt-project.org > > Date: Wed, 27 Dec 2017 16:45:01 +0000 > > Subject: [Qt-creator] Update QtCreator kits thru plugin > > > > Hi > > > > I am trying to create my plugin to create the kit to update sysroot, > target connection details,etc. > > > > But I couldn't locate how to update sysroot and other details of Qt > creator thru plugin. Any suggestions would be appreciated. > > > > > > > > _______________________________________________ > > Qt-creator mailing list > > Qt-creator at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/qt-creator > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nikolai.kosjar at qt.io Wed Jan 3 09:12:07 2018 From: nikolai.kosjar at qt.io (Nikolai Kosjar) Date: Wed, 3 Jan 2018 09:12:07 +0100 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: <7f74a95c-e571-f11a-9dfa-89fc5ec8892a@yandex.ru> References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> <1514828044.8564.31.camel@gmail.com> <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> <7f74a95c-e571-f11a-9dfa-89fc5ec8892a@yandex.ru> Message-ID: <418953bb-7ab2-d1c8-381c-e138d872d6ff@qt.io> On 01/02/2018 06:51 PM, Карелин Павел wrote: > > > 02.01.2018 11:40, Eike Ziller пишет: >> >>> On 1. Jan 2018, at 18:39, Карелин Павел wrote: >>> >>> >>> >>> 01.01.2018 20:34,timur.kristof at gmail.com пишет: >>>> Did you try with the clang code model? >>> I use the GCC compiler only. Is it possible to use the clang model in this case? In addition, I have a fairly old OS: Ubuntu 14.04. >> Which compiler you use for compiling your code does not really matter for the decision on the code model that you use in Qt Creator (except possibly in borderline cases that you probably do not care about...). Even compiler specific defines should be correctly identifying your compiler to be GCC when you specify this in the kit. >> So you should definitely try the Clang code model - it handles many template situations and most C++11/14/17 situations much better than the built-in model. >> >> Br, Eike > a) Failed to build the  "Clang Code Model" plugin on my system (Kubuntu > 14.04). Cause: On "my" system can install llvm-3.9, but I do not have > the file /usr/lib/llvm-3.9/include/llvm-s/Inndex.h, so the validation of > the clanProbes does not work. You probably need to install the dev package, too. Try libclang-3.9-dev. > b) I installed the pre-build QtC 4.5.0. ClangCode model - works. The > std::condition_variable highlighting correctly, but many warnings from > system header-files that I would prefer not to see. I assume that the > system header-files are written correctly ;) Note that you can adapt the warnings options in Menu: Tools > Options > C++ > Code Model. But yes, it would be probably a good idea to use a different set of warning options for system includes/headers. > c) I decided to dwell on the original version, but slightly modified. I > add "-std=c++11" in the function languageOption() > > static const QStringList languageOption(Core::Id languageId) > { >     if (languageId == Constants::C_LANGUAGE_ID) >         return {"-x", "c"}; >     return {"-x", "c++", "-std=c++11"}; > } That's of course a hack :) The project manager is supposed to find out the version. > Now the std::condition_variable highlighting correctly. > So far I have decided to stop on it variant. > > BR, Pavel. > >> >>>> On Mon, 2018-01-01 at 20:17 +0300, Карелин Павел wrote: >>>>> Hi! I congratulate all with come New year! >>>>> >>>>> In my project I use std::condition_variable. But using std::condition_variable is not very convenient, since its methods are not available in the QtC editor. See picture in attachment. >>>>> How to make std::condition_variable methods accessible? >>>>> I use QtC 4.5 gitrev: 30bd05b792259a559e98c6a19035f7b6adaac1ce >>>>> >>>>> -- >>>>> BR, Pavel Karelin >>>>> _______________________________________________ >>>>> Qt-creator mailing list >>>>> >>>>> Qt-creator at qt-project.org >>>>> http://lists.qt-project.org/mailman/listinfo/qt-creator >>> _______________________________________________ >>> Qt-creator mailing list >>> Qt-creator at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/qt-creator > > > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator > From hkarel at yandex.ru Wed Jan 3 10:16:16 2018 From: hkarel at yandex.ru (=?UTF-8?B?0JrQsNGA0LXQu9C40L0g0J/QsNCy0LXQuw==?=) Date: Wed, 3 Jan 2018 12:16:16 +0300 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: <7f74a95c-e571-f11a-9dfa-89fc5ec8892a@yandex.ru> References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> <1514828044.8564.31.camel@gmail.com> <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> <7f74a95c-e571-f11a-9dfa-89fc5ec8892a@yandex.ru> Message-ID: <637eec60-3208-3e49-0473-6dc99d60de20@yandex.ru> 02.01.2018 20:51, Карелин Павел пишет: > > > 02.01.2018 11:40, Eike Ziller пишет: >>> On 1. Jan 2018, at 18:39, Карелин Павел wrote: >>> >>> >>> >>> 01.01.2018 20:34,timur.kristof at gmail.com пишет: >>>> Did you try with the clang code model? >>> I use the GCC compiler only. Is it possible to use the clang model in this case? In addition, I have a fairly old OS: Ubuntu 14.04. >> Which compiler you use for compiling your code does not really matter for the decision on the code model that you use in Qt Creator (except possibly in borderline cases that you probably do not care about...). Even compiler specific defines should be correctly identifying your compiler to be GCC when you specify this in the kit. >> So you should definitely try the Clang code model - it handles many template situations and most C++11/14/17 situations much better than the built-in model. >> >> Br, Eike > a) Failed to build the  "Clang Code Model" plugin on my system > (Kubuntu 14.04). Cause: On "my" system can install llvm-3.9, but I do > not have the file /usr/lib/llvm-3.9/include/llvm-s/Inndex.h, so the > validation of the clanProbes does not work. > b) I installed the pre-build QtC 4.5.0. ClangCode model - works. The > std::condition_variable highlighting correctly, but many warnings from > system header-files that I would prefer not to see. I assume that the > system header-files are written correctly ;) > c) I decided to dwell on the original version, but slightly modified. > I add "-std=c++11" in the function languageOption() > > static const QStringList languageOption(Core::Id languageId) > { >     if (languageId == Constants::C_LANGUAGE_ID) >         return {"-x", "c"}; >     return {"-x", "c++", "-std=c++11"}; > } > > > Now the std::condition_variable highlighting correctly. > So far I have decided to stop on it variant. > > BR, Pavel. Eike, there is still a question: the native Code Model will be supported? Or in the future will remain only Clang Code Model? -- Pavel -------------- next part -------------- An HTML attachment was scrubbed... URL: From hkarel at yandex.ru Wed Jan 3 10:48:46 2018 From: hkarel at yandex.ru (=?UTF-8?B?0JrQsNGA0LXQu9C40L0g0J/QsNCy0LXQuw==?=) Date: Wed, 3 Jan 2018 12:48:46 +0300 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: <418953bb-7ab2-d1c8-381c-e138d872d6ff@qt.io> References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> <1514828044.8564.31.camel@gmail.com> <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> <7f74a95c-e571-f11a-9dfa-89fc5ec8892a@yandex.ru> <418953bb-7ab2-d1c8-381c-e138d872d6ff@qt.io> Message-ID: 03.01.2018 11:12, Nikolai Kosjar пишет: > On 01/02/2018 06:51 PM, Карелин Павел wrote: >> >> >> 02.01.2018 11:40, Eike Ziller пишет: >>> >>>> On 1. Jan 2018, at 18:39, Карелин Павел  wrote: >>>> >>>> >>>> >>>> 01.01.2018 20:34,timur.kristof at gmail.com  пишет: >>>>> Did you try with the clang code model? >>>> I use the GCC compiler only. Is it possible to use the clang model >>>> in this case? In addition, I have a fairly old OS: Ubuntu 14.04. >>> Which compiler you use for compiling your code does not really >>> matter for the decision on the code model that you use in Qt Creator >>> (except possibly in borderline cases that you probably do not care >>> about...). Even compiler specific defines should be correctly >>> identifying your compiler to be GCC when you specify this in the kit. >>> So you should definitely try the Clang code model - it handles many >>> template situations and most C++11/14/17 situations much better than >>> the built-in model. >>> >>> Br, Eike >> a) Failed to build the  "Clang Code Model" plugin on my system >> (Kubuntu 14.04). Cause: On "my" system can install llvm-3.9, but I do >> not have the file /usr/lib/llvm-3.9/include/llvm-s/Inndex.h, so the >> validation of the clanProbes does not work. > > You probably need to install the dev package, too. Try libclang-3.9-dev. Thanks, it helped. > >> b) I installed the pre-build QtC 4.5.0. ClangCode model - works. The >> std::condition_variable highlighting correctly, but many warnings >> from system header-files that I would prefer not to see. I assume >> that the system header-files are written correctly ;) > > Note that you can adapt the warnings options in Menu: Tools > Options > > C++ > Code Model. But yes, it would be probably a good idea to use a > different set of warning options for system includes/headers. > >> c) I decided to dwell on the original version, but slightly modified. >> I add "-std=c++11" in the function languageOption() >> >> static const QStringList languageOption(Core::Id languageId) >> { >>      if (languageId == Constants::C_LANGUAGE_ID) >>          return {"-x", "c"}; >>      return {"-x", "c++", "-std=c++11"}; >> } > > That's of course a hack :) The project manager is supposed to find out > the version. М-м-м...  In what way does the project manager now find out about c++11 support in current project? Is it working now? > >> Now the std::condition_variable highlighting correctly. >> So far I have decided to stop on it variant. >> >> BR, Pavel. >> >>> >>>>> On Mon, 2018-01-01 at 20:17 +0300, Карелин Павел wrote: >>>>>> Hi! I congratulate all with come New year! >>>>>> >>>>>> In my project I use std::condition_variable. But using >>>>>> std::condition_variable is not very convenient, since its methods >>>>>> are not available in the QtC editor. See picture in attachment. >>>>>> How to make std::condition_variable methods accessible? >>>>>> I use QtC 4.5 gitrev: 30bd05b792259a559e98c6a19035f7b6adaac1ce >>>>>> >>>>>> -- >>>>>> BR, Pavel Karelin >>>>>> _______________________________________________ >>>>>> Qt-creator mailing list >>>>>> >>>>>> Qt-creator at qt-project.org >>>>>> http://lists.qt-project.org/mailman/listinfo/qt-creator >>>> _______________________________________________ >>>> Qt-creator mailing list >>>> Qt-creator at qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/qt-creator >> >> >> >> _______________________________________________ >> Qt-creator mailing list >> Qt-creator at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/qt-creator >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincenthk007 at gmail.com Wed Jan 3 12:24:33 2018 From: vincenthk007 at gmail.com (Vincent Hui) Date: Wed, 3 Jan 2018 19:24:33 +0800 Subject: [Qt-creator] Is it possible to fix QTCREATORBUG-11259 in Qt Creator 4.5? In-Reply-To: <2fe7a812-8422-2f88-e060-03073a77de62@qt.io> References: <2fe7a812-8422-2f88-e060-03073a77de62@qt.io> Message-ID: Hi Nikolai, Thank you for working on this. I am willing to help testing Qt Creator 4.6 snapshot once you finish it. And I think many users are willing to help too. Thanks, Vincent On 16 October 2017 at 19:20, Nikolai Kosjar wrote: > On 10/10/2017 04:01 AM, Vincent Hui wrote: > >> Hello, >> >> QTCREATORBUG-11259 was reported for more than 3 and half years. It is >> about auto type deduction. Is it possible to fix QTCREATORBUG-11259 in Qt >> Creator 4.5? Now there are 17 people voting for this issue. >> > > I've started work on this and plan to finish it for Qt Creator 4.6. The > release schedule for 4.5 was a bit too tight to get this properly > implemented. > > https://codereview.qt-project.org/#/c/198572/ > > Nikolai > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nikolai.kosjar at qt.io Wed Jan 3 17:01:42 2018 From: nikolai.kosjar at qt.io (Nikolai Kosjar) Date: Wed, 3 Jan 2018 17:01:42 +0100 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> <1514828044.8564.31.camel@gmail.com> <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> <7f74a95c-e571-f11a-9dfa-89fc5ec8892a@yandex.ru> <418953bb-7ab2-d1c8-381c-e138d872d6ff@qt.io> Message-ID: <7a099942-9fe7-6926-b912-42fbd0ada667@qt.io> On 01/03/2018 10:48 AM, Карелин Павел wrote: > > > 03.01.2018 11:12, Nikolai Kosjar пишет: >> On 01/02/2018 06:51 PM, Карелин Павел wrote: >>> >>> >>> 02.01.2018 11:40, Eike Ziller пишет: >>>> >>>>> On 1. Jan 2018, at 18:39, Карелин Павел  wrote: >>>>> >>>>> >>>>> >>>>> 01.01.2018 20:34,timur.kristof at gmail.com  пишет: >>>>>> Did you try with the clang code model? >>>>> I use the GCC compiler only. Is it possible to use the clang model >>>>> in this case? In addition, I have a fairly old OS: Ubuntu 14.04. >>>> Which compiler you use for compiling your code does not really >>>> matter for the decision on the code model that you use in Qt Creator >>>> (except possibly in borderline cases that you probably do not care >>>> about...). Even compiler specific defines should be correctly >>>> identifying your compiler to be GCC when you specify this in the kit. >>>> So you should definitely try the Clang code model - it handles many >>>> template situations and most C++11/14/17 situations much better than >>>> the built-in model. >>>> >>>> Br, Eike >>> a) Failed to build the  "Clang Code Model" plugin on my system >>> (Kubuntu 14.04). Cause: On "my" system can install llvm-3.9, but I do >>> not have the file /usr/lib/llvm-3.9/include/llvm-s/Inndex.h, so the >>> validation of the clanProbes does not work. >> >> You probably need to install the dev package, too. Try libclang-3.9-dev. > Thanks, it helped. >> >>> b) I installed the pre-build QtC 4.5.0. ClangCode model - works. The >>> std::condition_variable highlighting correctly, but many warnings >>> from system header-files that I would prefer not to see. I assume >>> that the system header-files are written correctly ;) >> >> Note that you can adapt the warnings options in Menu: Tools > Options >> > C++ > Code Model. But yes, it would be probably a good idea to use a >> different set of warning options for system includes/headers. >> >>> c) I decided to dwell on the original version, but slightly modified. >>> I add "-std=c++11" in the function languageOption() >>> >>> static const QStringList languageOption(Core::Id languageId) >>> { >>>      if (languageId == Constants::C_LANGUAGE_ID) >>>          return {"-x", "c"}; >>>      return {"-x", "c++", "-std=c++11"}; >>> } >> >> That's of course a hack :) The project manager is supposed to find out >> the version. > М-м-м...  In what way does the project manager now find out about c++11 > support in current project? Is it working now? I'm not to familiar in that area, but IIRC it depends on the project manager. Either it's derived from some language version property in the project files or from the "-std=XYZ" option of the compiler invocation if the project manager has access to it. If nothing of this is passed on to the code model, the highest supported version is assumed, which is C++17 for the Clang Code Model and some limited C++11 for the built-in code model. >>> Now the std::condition_variable highlighting correctly. >>> So far I have decided to stop on it variant. >>> >>> BR, Pavel. >>> >>>> >>>>>> On Mon, 2018-01-01 at 20:17 +0300, Карелин Павел wrote: >>>>>>> Hi! I congratulate all with come New year! >>>>>>> >>>>>>> In my project I use std::condition_variable. But using >>>>>>> std::condition_variable is not very convenient, since its methods >>>>>>> are not available in the QtC editor. See picture in attachment. >>>>>>> How to make std::condition_variable methods accessible? >>>>>>> I use QtC 4.5 gitrev: 30bd05b792259a559e98c6a19035f7b6adaac1ce >>>>>>> >>>>>>> -- >>>>>>> BR, Pavel Karelin >>>>>>> _______________________________________________ >>>>>>> Qt-creator mailing list >>>>>>> >>>>>>> Qt-creator at qt-project.org >>>>>>> http://lists.qt-project.org/mailman/listinfo/qt-creator >>>>> _______________________________________________ >>>>> Qt-creator mailing list >>>>> Qt-creator at qt-project.org >>>>> http://lists.qt-project.org/mailman/listinfo/qt-creator >>> >>> >>> >>> _______________________________________________ >>> Qt-creator mailing list >>> Qt-creator at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/qt-creator >>> >> > From nikolai.kosjar at qt.io Wed Jan 3 17:08:26 2018 From: nikolai.kosjar at qt.io (Nikolai Kosjar) Date: Wed, 3 Jan 2018 17:08:26 +0100 Subject: [Qt-creator] How set __cplusplus more than 201103L in QtC Editor? In-Reply-To: <637eec60-3208-3e49-0473-6dc99d60de20@yandex.ru> References: <8608bd7c-6961-7108-6bb1-a1b9dc2581c8@yandex.ru> <1514828044.8564.31.camel@gmail.com> <5e1eb841-7661-52a4-1713-4e6a5a9122c2@yandex.ru> <7f74a95c-e571-f11a-9dfa-89fc5ec8892a@yandex.ru> <637eec60-3208-3e49-0473-6dc99d60de20@yandex.ru> Message-ID: On 01/03/2018 10:16 AM, Карелин Павел wrote: > > > 02.01.2018 20:51, Карелин Павел пишет: >> >> >> 02.01.2018 11:40, Eike Ziller пишет: >>>> On 1. Jan 2018, at 18:39, Карелин Павел wrote: >>>> >>>> >>>> >>>> 01.01.2018 20:34,timur.kristof at gmail.com пишет: >>>>> Did you try with the clang code model? >>>> I use the GCC compiler only. Is it possible to use the clang model in this case? In addition, I have a fairly old OS: Ubuntu 14.04. >>> Which compiler you use for compiling your code does not really matter for the decision on the code model that you use in Qt Creator (except possibly in borderline cases that you probably do not care about...). Even compiler specific defines should be correctly identifying your compiler to be GCC when you specify this in the kit. >>> So you should definitely try the Clang code model - it handles many template situations and most C++11/14/17 situations much better than the built-in model. >>> >>> Br, Eike >> a) Failed to build the  "Clang Code Model" plugin on my system >> (Kubuntu 14.04). Cause: On "my" system can install llvm-3.9, but I do >> not have the file /usr/lib/llvm-3.9/include/llvm-s/Inndex.h, so the >> validation of the clanProbes does not work. >> b) I installed the pre-build QtC 4.5.0. ClangCode model - works. The >> std::condition_variable highlighting correctly, but many warnings from >> system header-files that I would prefer not to see. I assume that the >> system header-files are written correctly ;) >> c) I decided to dwell on the original version, but slightly modified. >> I add "-std=c++11" in the function languageOption() >> >> static const QStringList languageOption(Core::Id languageId) >> { >>     if (languageId == Constants::C_LANGUAGE_ID) >>         return {"-x", "c"}; >>     return {"-x", "c++", "-std=c++11"}; >> } >> >> >> Now the std::condition_variable highlighting correctly. >> So far I have decided to stop on it variant. >> >> BR, Pavel. > > Eike, there is still a question: the native Code Model will be > supported? Or in the future will remain only Clang Code Model? The Clang Code Model will gradually take over. The support for the built-in code model is already limited now. > -- > Pavel > > > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator > From svidhyapria at gmail.com Fri Jan 5 14:34:05 2018 From: svidhyapria at gmail.com (Vidhya Arun) Date: Fri, 05 Jan 2018 13:34:05 +0000 Subject: [Qt-creator] Update QtCreator kits thru plugin In-Reply-To: References: <027139A2-0689-4277-AEB0-F74962CF9C10@qt.io> Message-ID: Is there a possibility to update the additional startup and attach commands too under debugger->gdb of Options in QtCreator ? I find some variables related to it in debugger plugjn but couldn't locate any specific methods exposed for this purpose. -Vidhya On Wed, 3 Jan 2018 at 12:49 PM, Vidhya Arun wrote: > Thank you Eike. This was the issue. > It works fine when I try mapping with some action instead of initialize or > delayInitialize methods. > > -Vidhya > > On Tue, 2 Jan 2018 at 2:20 PM, Eike Ziller wrote: > >> >> >> > On 2. Jan 2018, at 03:40, Vidhya Arun wrote: >> > >> > Yes Antonio , I did create in initialize methods only. I have created >> the kit, registered the toolchain and set the device type Id and left out >> the rest of steps to initially check if kit is loaded with some dummy data. >> > I find the code getting executed but also I find below soft assert >> statements during execution. Not sure if these cause failure on listing the >> kits after execution >> > >> > Starting /opt/qtcreator-4.4.1/bin/qtcreator... >> > QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to >> '/tmp/runtime-root' >> > libGL error: pci id for fd 6: 80ee:beef, driver (null) >> > libGL error: core dri or dri2 extension not found >> > libGL error: failed to load driver: vboxvideo >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "isLanguageSupported(tc->language())" in file >> /work/build/qt-creator/src/plugins/projectexplorer/toolchainmanager.cpp, >> line 408 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitmanager.cpp, line 440 >> > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 727 >> > SOFT ASSERT: "QtVersionManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtkitinformation.cpp, line 76 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 727 >> > SOFT ASSERT: "QtVersionManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtkitinformation.cpp, line 76 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 727 >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "isLoaded()" in file >> /work/build/qt-creator/src/plugins/qtsupport/qtversionmanager.cpp, line 529 >> > No build configuration factory found for target id 'MyKit'. >> > SOFT ASSERT: "ToolChainManager::isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 385 >> > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 727 >> > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 727 >> > SOFT ASSERT: "DeviceManager::instance()->isLoaded()" in file >> /work/build/qt-creator/src/plugins/projectexplorer/kitinformation.cpp, line >> 727 >> > No tool chain set up in kit "target" for "C". >> > No tool chain set up in kit "target" for "C”. >> >> These asserts mean that you are trying to do things with tool chains and >> kits too early. The kits are only restored in the ProjectExplorer plugin’s >> delayedInitialize() ( >> http://doc-snapshots.qt.io/qtcreator-extending/plugin-lifecycle.html), >> so if you can not work with kits/toolchains in your initialize(). >> A sensible way for you to delay the actions that you take is probably to >> connect to ProjectExplorer::KitManager::kitsLoaded() and do it there. >> >> Br, Eike >> >> > Regards >> > Vidhya >> > >> > >> > >> > On Tue, 2 Jan 2018 at 1:49 AM, Antonio Di Monaco >> wrote: >> > Hi Arun, >> > >> > my kits are created when the project is loaded. My code starts in >> Project::fromMap method. >> > >> > In case you'd like to create your kits at plugin startup, then you need >> a different method, i.e. YourPluginClass::extensionsInitialized or >> YourPluginClass::initialize (I assume the first one is better). >> > >> > Of course, you cannot create any target, just kits, toolchains and >> tools. >> > >> > Thanks, >> > A. >> > >> > >> > From: "Vidhya Arun" svidhyapria at gmail.com >> > To: "Antonio Di Monaco" tony at becrux.com >> > Cc: qt-creator at qt-project.org >> > Date: Mon, 1 Jan 2018 22:51:15 +0530 >> > Subject: Re: [Qt-creator] Update QtCreator kits thru plugin >> > >> > Hi Antonio >> > >> > Tried your steps and built the plugin. Is the kit expected to be listed >> automatically under Tools/Options/Build &Run/Kits once the plugin is built >> and loaded successfully in Qt creator ? >> > Unfortunately I dont see my kit listed there when i execute the plugin ? >> > >> > Meanwhile are all the steps mandatory to be followed. Initially I just >> wanted to check if the kit gets created with the registered kit name and >> toolchain, sysroot details added in plugin. >> > Thats not happening yet. Any hints on what could have gone wrong here ? >> > >> > -Vidhya >> > >> > >> > On Thu, Dec 28, 2017 at 10:21 PM, Antonio Di Monaco >> wrote: >> > Hi Arun, >> > >> > unfortunately I cannot share the code, but I can provide you some basic >> steps in order to do that. Please note that what I'm posting is just the >> result of my understanding of the Qt Creator code, so I could be not >> correct 100%. I was not able to find any kind of documentation, so YMMV. >> > >> > Basically, you need to create a toolchain first. You can subclass from >> ProjectExplorer::GccToolchain, in order to create a GCC/Clang toolchain, or >> ProjectExplorer::Internal::AbstractMsvcToolchain, for MSVC compiler (yeah, >> that should not be allowed, but there are no MSVC base classes that are >> exported through the PROJECTEXPLORER_EXPORT macro. Anyway, it works, you >> just need some code from MsvcToolchain class). >> > >> > Once you have it, create a Kit in your Project class. You can do it in >> the fromMap method, for example (called when your project is loaded): >> > >> > ProjectExplorer::Kit *kit = new ProjectExplorer::Kit(YOUR_ID); >> > kit->setUnexpandedDisplayName(YOUR_DISPLAY_NAME); >> > kit->setAutoDetected(false); >> > >> > You can add your personal values too, using: >> > >> > kit->setValueSilently(KEY, VALUE); >> > >> > that you can access later calling kit->value(KEY). >> > >> > Then, you can add all the required information: >> > >> > - sysroot: >> > >> > ProjectExplorer::SysRootKitInformation::setSysRoot(kit, >> PATH_OF_THE_SYSROOT); >> > >> > >> > - toolchain: >> > >> > ProjectExplorer::ToolChain *tc = new Your_ToolChain_Class(...); >> > ProjectExplorer::ToolChainManager::registerToolChain(tc); >> > ProjectExplorer::ToolChainKitInformation::setToolChain(kit, tc); >> > >> > you can add one for C, and one for C++, according to the LanguageId >> that you specify in Your_ToolChain_Class. >> > >> > >> > - If you have a CMake configuration for your kit, you can add it too: >> > >> > /* vvvvv do this group once vvvvv */ >> > CMakeProjectManager::CMakeTool *cmakeTool = new >> CMakeProjectManager::CMakeTool(CMakeProjectManager::CMakeTool::ManualDetection, >> THE_ID_OF_YOUR_CMAKE_COMMAND); >> > cmakeTool->setAutorun(false); >> > cmakeTool->setCMakeExecutable("...."); >> > cmakeTool->setDisplayName("...."); >> > >> > CMakeProjectManager::CMakeToolManager::registerCMakeTool(cmakeTool); >> > /* ^^^^^ do this group once ^^^^^^ */ >> > >> > CMakeProjectManager::CMakeKitInformation::setCMakeTool(kit, >> THE_ID_OF_YOUR_CMAKE_COMMAND); >> > CMakeProjectManager::CMakeGeneratorKitInformation::setGenerator(kit, >> "..."); >> > >> CMakeProjectManager::CMakeGeneratorKitInformation::setExtraGenerator(kit, >> "...."); >> > >> CMakeProjectManager::CMakeConfigurationKitInformation::setConfiguration(kit, >> CMakeProjectManager::CMakeConfig(...)); >> > >> > >> > - Qt can be set up in a similar way. Unfortunately, I don't know how, >> cause I'm not using Qt libraries for my kit, so I clear out the information >> in the kit: >> > >> > QmakeProjectManager::QmakeKitInformation::setMkspec(kit, >> Utils::FileName()); >> > QtSupport::QtKitInformation::setQtVersionId(kit, 0); >> > >> > Maybe you can have a look at those function calls, and specify >> different parameters. >> > >> > >> > - Debugger: >> > >> > Debugger::DebuggerItem debugger; >> > >> > debugger.setCommand("..."); >> > debugger.setEngineType(Debugger::GdbEngineType or >> Debugger::CdbEngineType); >> > >> > debugger.setUnexpandedDisplayName("..."); >> > debugger.setAutoDetected(true); >> > debugger.setAbi(tc->targetAbi()); >> > debugger.setWorkingDirectory("..."); >> > debugger.reinitializeFromFile(); >> > >> > Debugger::DebuggerKitInformation::setDebugger(kit, >> Debugger::DebuggerItemManager::registerDebugger(debugger)); >> > >> > >> > - Device type (Desktop in my case): >> > >> > ProjectExplorer::DeviceTypeKitInformation::setDeviceTypeId(kit, >> ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); >> > >> > >> > When you're done, you register the kit: >> > >> > ProjectExplorer::KitManager::registerKit(kit); >> > >> > >> > In order to consume it, you need a target: >> > >> > ProjectExplorer::Target *tgt = createTarget(kit); >> > tgt->setDefaultDisplayName("..."); >> > tgt->setDisplayName("..."); >> > addTarget(tgt); >> > >> > That's it. >> > >> > >> > >> > Toolchains can be unregistered using: >> > >> > ProjectExplorer::ToolChainKitInformation::clearToolChain(kit, >> tc->language()); >> > ProjectExplorer::ToolChainManager::deregisterToolChain(tc); >> > >> > So the debugger: >> > >> > const Debugger::DebuggerItem *dbgItem = >> Debugger::DebuggerKitInformation::debugger(kit); >> > >> > if (dbgItem) >> > Debugger::DebuggerItemManager::deregisterDebugger(dbgItem->id()); >> > >> > the kit: >> > >> > ProjectExplorer::KitManager::deregisterKit(kit); >> > >> > and your CMake tool: >> > >> > >> CMakeProjectManager::CMakeToolManager::deregisterCMakeTool(THE_ID_OF_YOUR_CMAKE_COMMAND); >> > >> > >> > >> > Those are the basics. If you need more help, please ask for a specific >> topic, cause it's very wide to be fully explained. >> > >> > Hope that this will help you. >> > >> > BR, >> > Antonio >> > >> > >> > From: "Vidhya Arun" svidhyapria at gmail.com >> > To: "Antonio Di Monaco" tony at becrux.com >> > Cc: qt-creator at qt-project.org >> > Date: Wed, 27 Dec 2017 16:45:01 +0000 >> > Subject: [Qt-creator] Update QtCreator kits thru plugin >> > >> > Hi >> > >> > I am trying to create my plugin to create the kit to update sysroot, >> target connection details,etc. >> > >> > But I couldn't locate how to update sysroot and other details of Qt >> creator thru plugin. Any suggestions would be appreciated. >> > >> > >> > >> > _______________________________________________ >> > Qt-creator mailing list >> > Qt-creator at qt-project.org >> > http://lists.qt-project.org/mailman/listinfo/qt-creator >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Sat Jan 6 10:59:29 2018 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sat, 06 Jan 2018 10:59:29 +0100 Subject: [Qt-creator] "Could not initialise GLX" Message-ID: <4091664.Ul2enOGVvt@bola> Hi, What does Creator need GLX for and is there a way to disable the feature(s) in question? I'm getting a GLX error when I try to use Creator on a remote X display and don't get any further than that failure message. Thanks, R. From chgans at gmail.com Sat Jan 6 12:39:14 2018 From: chgans at gmail.com (Christian Gagneraud) Date: Sun, 7 Jan 2018 00:39:14 +1300 Subject: [Qt-creator] "Could not initialise GLX" In-Reply-To: <4091664.Ul2enOGVvt@bola> References: <4091664.Ul2enOGVvt@bola> Message-ID: On 6 January 2018 at 22:59, René J.V. Bertin wrote: > Hi, > > What does Creator need GLX for and is there a way to disable the feature(s) in question? > I'm getting a GLX error when I try to use Creator on a remote X display and don't get any further than that failure message. I got that as well on a VM and/or on a remote docker container, AFAIR this was not fatal. Maybe you need to install mesa? Chris From rjvbertin at gmail.com Sat Jan 6 14:06:47 2018 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sat, 06 Jan 2018 14:06:47 +0100 Subject: [Qt-creator] "Could not initialise GLX" In-Reply-To: References: <4091664.Ul2enOGVvt@bola> Message-ID: <4403049.ejLkPVja2v@portia.local> On Sunday January 07 2018 00:39:14 Christian Gagneraud wrote: > I got that as well on a VM and/or on a remote docker container, AFAIR > this was not fatal. > Maybe you need to install mesa? I do have mesa installed, but it's probably not being used for some reason (even on Linux I get a message that swrast fails to load but Creator still runs despite that). Most other Qt5/KF5 applications run just fine (or have an option not to load plugins that require GLX), I wonder what Creator needs it for? R. From rjvbertin at gmail.com Sat Jan 6 14:14:50 2018 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sat, 06 Jan 2018 14:14:50 +0100 Subject: [Qt-creator] "Could not initialise GLX" In-Reply-To: <4403049.ejLkPVja2v@portia.local> References: <4091664.Ul2enOGVvt@bola> <4403049.ejLkPVja2v@portia.local> Message-ID: <3977646.7gzLzqIY4c@portia.local> On Saturday January 06 2018 14:06:47 René J.V. Bertin wrote: > I wonder what Creator needs it for? Belay that - QtWebEngine strikes again... see commit #e2d142c7 that added `SharedTools::QtSingleApplication::setAttribute(Qt::AA_ShareOpenGLContexts);` to main.cpp, all because QWE is used to display QtHelp documentation ... R. From rjvbertin at gmail.com Sat Jan 6 23:04:25 2018 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Sat, 06 Jan 2018 23:04:25 +0100 Subject: [Qt-creator] "Could not initialise GLX" References: <4091664.Ul2enOGVvt@bola> Message-ID: <3393350.6Lt0oStDzl@portia.local> Christian Gagneraud wrote: > Maybe you need to install mesa? Hah, got it. - install mesa, taking care to build/include egl support and at least the swrast gallium driver - start Qt applications with QT_XCB_GL_INTEGRATION=xcb_egl No more complaints about swrast not loading or GLX not being initialised. Thanks for pointing me in the right direction! :) From annulen at yandex.ru Sun Jan 7 11:55:06 2018 From: annulen at yandex.ru (Konstantin Tokarev) Date: Sun, 07 Jan 2018 13:55:06 +0300 Subject: [Qt-creator] "Could not initialise GLX" In-Reply-To: <4091664.Ul2enOGVvt@bola> References: <4091664.Ul2enOGVvt@bola> Message-ID: <1355971515322506@web58g.yandex.ru> > Hi, > > What does Creator need GLX for and is there a way to disable the feature(s) in question? I'm getting a GLX error when I try to use Creator on a remote X display and don't get any further than that failure message. Please update Qt Creator. Old versions used QML for Welcome screen, this is fixed now. Otherwise you can just disable Welcome plugin by running with "-noload welcome" > > Thanks, > R. > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator -- Regards, Konstantin From rjvbertin at gmail.com Sun Jan 7 13:04:13 2018 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sun, 07 Jan 2018 13:04:13 +0100 Subject: [Qt-creator] "Could not initialise GLX" In-Reply-To: <1355971515322506@web58g.yandex.ru> References: <4091664.Ul2enOGVvt@bola> <1355971515322506@web58g.yandex.ru> Message-ID: <1568171.aUW6c8SFth@portia.local> On Sunday January 07 2018 13:55:06 Konstantin Tokarev wrote: > Please update Qt Creator. Old versions used QML for Welcome screen, this is fixed now. > Otherwise you can just disable Welcome plugin by running with "-noload welcome" No, as I posted earlier, this results from Creator requesting shared OpenGL contexts, which in turn and if I remember correctly is required for using QWE as a plugin or from a background thread. I already skip the Welcome plugin when I launch Creator remotely. R. From oswald.buddenhagen at qt.io Mon Jan 8 14:40:15 2018 From: oswald.buddenhagen at qt.io (Oswald Buddenhagen) Date: Mon, 8 Jan 2018 14:40:15 +0100 Subject: [Qt-creator] [FYI] the new way to retarget gerrit changes Message-ID: <20180108134015.GA23646@troll08> On Mon, Sep 12, 2016 at 02:39:57PM +0300, Orgad Shaneh wrote: > Either extend the sanity bot, or create a new bot, which listens on > gerrit's event stream. > If the change's owner (or an approver?) posts a comment reading "Please > retarget ", run your script on the server side. You need some > sanity test that ensures this branch exists etc... > ... which he implemented, and it's deployed now. for simplicity, only the change owner may issue the command. for other cases, you still need to go through an admin. the same is advisable for batch requests, but do as you wish. the regex is /^(?:gerrit-)?bot:\h*(?:please\h+)?move\h+(?:back\h+)?to\h+(?:branch\h+)?([\w.]*\w)\b/im which boils down to "bot: move to " at the start of any line of a gerrit cover message. From annulen at yandex.ru Mon Jan 8 14:48:44 2018 From: annulen at yandex.ru (Konstantin Tokarev) Date: Mon, 08 Jan 2018 16:48:44 +0300 Subject: [Qt-creator] [FYI] the new way to retarget gerrit changes In-Reply-To: <20180108134015.GA23646@troll08> References: <20180108134015.GA23646@troll08> Message-ID: <2259071515419324@web15g.yandex.ru> 08.01.2018, 16:40, "Oswald Buddenhagen" : > On Mon, Sep 12, 2016 at 02:39:57PM +0300, Orgad Shaneh wrote: >>     Either extend the sanity bot, or create a new bot, which listens on >>     gerrit's event stream. >>     If the change's owner (or an approver?) posts a comment reading "Please >>     retarget ", run your script on the server side. You need some >>     sanity test that ensures this branch exists etc... > > ... which he implemented, and it's deployed now. > > for simplicity, only the change owner may issue the command. for other > cases, you still need to go through an admin. the same is advisable for > batch requests, but do as you wish. I think batch requests should be automated by adding comments via Gerrit's API (to minimize your distractions) > > the regex is > >   /^(?:gerrit-)?bot:\h*(?:please\h+)?move\h+(?:back\h+)?to\h+(?:branch\h+)?([\w.]*\w)\b/im > > which boils down to "bot: move to " at the start of any line of > a gerrit cover message. Oh, "please" keyword :) > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator -- Regards, Konstantin From orgads at gmail.com Mon Jan 8 14:51:13 2018 From: orgads at gmail.com (Orgad Shaneh) Date: Mon, 8 Jan 2018 15:51:13 +0200 Subject: [Qt-creator] [FYI] the new way to retarget gerrit changes In-Reply-To: <2259071515419324@web15g.yandex.ru> References: <20180108134015.GA23646@troll08> <2259071515419324@web15g.yandex.ru> Message-ID: On Mon, Jan 8, 2018 at 3:48 PM, Konstantin Tokarev wrote: > > > 08.01.2018, 16:40, "Oswald Buddenhagen" : > > On Mon, Sep 12, 2016 at 02:39:57PM +0300, Orgad Shaneh wrote: > >> Either extend the sanity bot, or create a new bot, which listens on > >> gerrit's event stream. > >> If the change's owner (or an approver?) posts a comment reading > "Please > >> retarget ", run your script on the server side. You need > some > >> sanity test that ensures this branch exists etc... > > > > ... which he implemented, and it's deployed now. > > > > for simplicity, only the change owner may issue the command. for other > > cases, you still need to go through an admin. the same is advisable for > > batch requests, but do as you wish. > > I think batch requests should be automated by adding comments via Gerrit's > API > (to minimize your distractions) > That's exactly what was done. Or did I misread your comment? All you need to do is add a comment in gerrit saying: "bot: move to 5.10" and you're done. - Orgad -------------- next part -------------- An HTML attachment was scrubbed... URL: From annulen at yandex.ru Mon Jan 8 15:00:36 2018 From: annulen at yandex.ru (Konstantin Tokarev) Date: Mon, 08 Jan 2018 17:00:36 +0300 Subject: [Qt-creator] [FYI] the new way to retarget gerrit changes In-Reply-To: References: <20180108134015.GA23646@troll08> <2259071515419324@web15g.yandex.ru> Message-ID: <703151515420036@web20o.yandex.ru> 08.01.2018, 16:51, "Orgad Shaneh" : > On Mon, Jan 8, 2018 at 3:48 PM, Konstantin Tokarev wrote: > >> 08.01.2018, 16:40, "Oswald Buddenhagen" : >>> On Mon, Sep 12, 2016 at 02:39:57PM +0300, Orgad Shaneh wrote: >>>>     Either extend the sanity bot, or create a new bot, which listens on >>>>     gerrit's event stream. >>>>     If the change's owner (or an approver?) posts a comment reading "Please >>>>     retarget ", run your script on the server side. You need some >>>>     sanity test that ensures this branch exists etc... >>> >>> ... which he implemented, and it's deployed now. >>> >>> for simplicity, only the change owner may issue the command. for other >>> cases, you still need to go through an admin. the same is advisable for >>> batch requests, but do as you wish. >> >> I think batch requests should be automated by adding comments via Gerrit's API >> (to minimize your distractions) > > That's exactly what was done. Or did I misread your comment? > > All you need to do is add a comment in gerrit saying: "bot: move to 5.10" and you're done. I mean, there can be additional script on client side, to add this comment to several changes (if I usderstood "batch request" correctly) > > - Orgad --  Regards, Konstantin From seth.c.raymond at gmail.com Mon Jan 8 15:25:37 2018 From: seth.c.raymond at gmail.com (Seth Raymond) Date: Mon, 8 Jan 2018 09:25:37 -0500 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks Message-ID: With the current Qt Creator git plugin implementation, it is difficult (and perhaps impossible?) to use the prepare-commit-msg and commit-msg hooks to check if a commit message is stylistically valid. This is because Qt Creator does not run `git commit` until after the message has been written in the "Description" box and the "Commit" button has been pressed. The current sequence is as follows: -User types commit message into blank Description box -User presses "Commit" -Description is written to temp/commit/msg -prepare-commit-msg hook is run on path/to/repo/.git/EDIT-COMMITMSG -Data from temp/commit/msg is pseudo-appended to path/to/repo/.git/EDIT-COMMITMSG -commit-msg hook is run on path/to/repo/.git/EDIT-COMMITMSG My temporary workaround is to use a static template, but the template cannot dynamically insert text into the commit (such as the current branch name). I could "fix" the commit message after the user is done, but that is not ideal. Suggestions? -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobias.hunger at gmail.com Tue Jan 9 10:43:09 2018 From: tobias.hunger at gmail.com (Tobias Hunger) Date: Tue, 9 Jan 2018 10:43:09 +0100 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: References: Message-ID: Hi Seth! You are almost correct AFAICT. > - User types commit message into blank Description box Actually GitClient::getCommitData retrieves the text for the commit message that is shown in the description box. That can be blank or some of the different templates used by git. Creator does not run any hooks at that point though. > - User presses "Commit" ... and creator runs "git commit", triggering all the magic git does with the user-provided commit message as input. Hooks do get run at this point, but it is admittedly a bit late for the pre-commit or the prepare-commit-msg hook. Do you have any idea how we can improve this -- without reimplementing all the logic built into git? Best Regards, Tobias On Mon, Jan 8, 2018 at 3:25 PM, Seth Raymond wrote: > With the current Qt Creator git plugin implementation, it is difficult (and > perhaps impossible?) to use the prepare-commit-msg and commit-msg hooks to > check if a commit message is stylistically valid. This is because Qt Creator > does not run `git commit` until after the message has been written in the > "Description" box and the "Commit" button has been pressed. The current > sequence is as follows: > > -User types commit message into blank Description box > -User presses "Commit" > -Description is written to temp/commit/msg > -prepare-commit-msg hook is run on path/to/repo/.git/EDIT-COMMITMSG > -Data from temp/commit/msg is pseudo-appended to > path/to/repo/.git/EDIT-COMMITMSG > -commit-msg hook is run on path/to/repo/.git/EDIT-COMMITMSG > > My temporary workaround is to use a static template, but the template cannot > dynamically insert text into the commit (such as the current branch name). I > could "fix" the commit message after the user is done, but that is not > ideal. Suggestions? > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator > From oswald.buddenhagen at qt.io Tue Jan 9 12:04:35 2018 From: oswald.buddenhagen at qt.io (Oswald Buddenhagen) Date: Tue, 9 Jan 2018 12:04:35 +0100 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: References: Message-ID: <20180109110435.GB20081@troll08> On Tue, Jan 09, 2018 at 10:43:09AM +0100, Tobias Hunger wrote: > Hooks do get run at this point, but it is admittedly a bit late for > the pre-commit or the prepare-commit-msg hook. Do you have any idea > how we can improve this -- without reimplementing all the logic built > into git? > by providing a stub editor and running git commit with $EDITOR pointing to that stub as soon as the dialog is opened. from there it's just a bit of ipc, which can be mostly ripped off from the debugger stub. From orgads at gmail.com Tue Jan 9 12:19:33 2018 From: orgads at gmail.com (Orgad Shaneh) Date: Tue, 9 Jan 2018 13:19:33 +0200 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: <20180109110435.GB20081@troll08> References: <20180109110435.GB20081@troll08> Message-ID: On Tue, Jan 9, 2018 at 1:04 PM, Oswald Buddenhagen wrote: > On Tue, Jan 09, 2018 at 10:43:09AM +0100, Tobias Hunger wrote: > > Hooks do get run at this point, but it is admittedly a bit late for > > the pre-commit or the prepare-commit-msg hook. Do you have any idea > > how we can improve this -- without reimplementing all the logic built > > into git? > > > by providing a stub editor and running git commit with $EDITOR pointing > to that stub as soon as the dialog is opened. from there it's just a bit > of ipc, which can be mostly ripped off from the debugger stub. What if there are no staged files? git commit will not execute any hook on this case, and this is the typical state when the Git Commit dialog is opened. - Orgad -------------- next part -------------- An HTML attachment was scrubbed... URL: From oswald.buddenhagen at qt.io Tue Jan 9 13:05:32 2018 From: oswald.buddenhagen at qt.io (Oswald Buddenhagen) Date: Tue, 9 Jan 2018 13:05:32 +0100 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: References: <20180109110435.GB20081@troll08> Message-ID: <20180109120532.GA3413@troll08> On Tue, Jan 09, 2018 at 01:19:33PM +0200, Orgad Shaneh wrote: > What if there are no staged files? git commit will not execute any hook on > this case, > it can be forced with --allow-empty. > and this is the typical state when the Git Commit dialog is opened. > well, yes, and the hook's output can depend on what has been staged. so this is really an inherent problem of the fact that the dialog parallelizes a workflow that is meant to be sequential. git gui has the same problem, and it's even worse at dealing with it. as a workaround, i can imagine canceling and re-starting the commit whenever the index changes (after a small delay). if the generated commit message differs but the user has already edited it, a warning is shown (maybe make an exception for the gerrit change-id, otherwise it gets annoying; preferentially, the latest generated id should be used to minimize the risk of collisions). From seth.c.raymond at gmail.com Tue Jan 9 15:03:14 2018 From: seth.c.raymond at gmail.com (Seth Raymond) Date: Tue, 9 Jan 2018 09:03:14 -0500 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: <20180109120532.GA3413@troll08> References: <20180109110435.GB20081@troll08> <20180109120532.GA3413@troll08> Message-ID: > so this is really an inherent problem of the fact that the dialog > parallelizes a workflow that is meant to be sequential. This is the underlying problem. I'm sure there are plenty of inelegant workarounds, but they're exactly that - inelegant. Furthermore, these workarounds can't be done at the user-level, they must be a (relatively) significant change to Creator/the git plugin. I think the solution boils down to two options: either overhaul how the git plugin handles the flow or circumvent a portion of git's back-end and recreate it in the plugin. Is there a strong reason to keep the process in its current, parallelized state? On Tue, Jan 9, 2018 at 7:05 AM, Oswald Buddenhagen wrote: > On Tue, Jan 09, 2018 at 01:19:33PM +0200, Orgad Shaneh wrote: >> What if there are no staged files? git commit will not execute any hook on >> this case, >> > it can be forced with --allow-empty. > >> and this is the typical state when the Git Commit dialog is opened. >> > well, yes, and the hook's output can depend on what has been staged. > so this is really an inherent problem of the fact that the dialog > parallelizes a workflow that is meant to be sequential. git gui has the > same problem, and it's even worse at dealing with it. > > as a workaround, i can imagine canceling and re-starting the commit > whenever the index changes (after a small delay). if the generated > commit message differs but the user has already edited it, a warning is > shown (maybe make an exception for the gerrit change-id, otherwise it > gets annoying; preferentially, the latest generated id should be used to > minimize the risk of collisions). > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator From oswald.buddenhagen at qt.io Tue Jan 9 15:56:31 2018 From: oswald.buddenhagen at qt.io (Oswald Buddenhagen) Date: Tue, 9 Jan 2018 15:56:31 +0100 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: References: <20180109110435.GB20081@troll08> <20180109120532.GA3413@troll08> Message-ID: <20180109145631.GA27546@troll08> On Tue, Jan 09, 2018 at 09:03:14AM -0500, Seth Raymond wrote: > Is there a strong reason to keep the process in its current, > parallelized state? > yes. for example, a conscientious committer will want to revise the file list when during writing the commit message they notice that the commit is non-atomic. happens to me all the time. fwiw, qtc is imo still inferior to git gui regarding fine-grained commits - the diff view and chunk-level staging are kinda hidden, and line-wise staging apparently isn't there at all. in fact, the selective staging context menu is outright broken in 4.5 - there is no indication which actions make sense, and there are duplicated actions. From seth.c.raymond at gmail.com Tue Jan 9 17:23:53 2018 From: seth.c.raymond at gmail.com (Seth Raymond) Date: Tue, 9 Jan 2018 11:23:53 -0500 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: <20180109145631.GA27546@troll08> References: <20180109110435.GB20081@troll08> <20180109120532.GA3413@troll08> <20180109145631.GA27546@troll08> Message-ID: > yes. for example, a conscientious committer will want to revise the file > list when during writing the commit message they notice that the commit > is non-atomic. happens to me all the time. Would a "back"/"cancel" button at the commit message window that returns you to the file selection window be sufficient? I'm not particularly familiar with git gui, I've only ever used git out of the terminal (and am now learning Qt Creator's git plugin). Invoking git via the terminal is a series process, so obviously the process in the GUI could be done in series. You lose an aspect of convenience for the sake of "proper" functionality. But I'm not the one who makes those decisions; I just wanted to report a deficiency I saw and see if there were any known workarounds. Our team is just skipping the Creator git plugin altogether and will be using git via the terminal/preferred GUI that works with the hooks we've written. > fwiw, qtc is imo still inferior to git gui regarding fine-grained > commits - the diff view and chunk-level staging are kinda hidden, and > line-wise staging apparently isn't there at all. > in fact, the selective staging context menu is outright broken in 4.5 - > there is no indication which actions make sense, and there are > duplicated actions. Sounds to me like I'm not the only person having problems with the plugin. Hopefully some extra functionality will be added in the future to make the plugin line up better with git tools already in place elsewhere. Creator is an *integrated* development environment, after all... On Tue, Jan 9, 2018 at 9:56 AM, Oswald Buddenhagen wrote: > On Tue, Jan 09, 2018 at 09:03:14AM -0500, Seth Raymond wrote: >> Is there a strong reason to keep the process in its current, >> parallelized state? >> > yes. for example, a conscientious committer will want to revise the file > list when during writing the commit message they notice that the commit > is non-atomic. happens to me all the time. > > fwiw, qtc is imo still inferior to git gui regarding fine-grained > commits - the diff view and chunk-level staging are kinda hidden, and > line-wise staging apparently isn't there at all. > in fact, the selective staging context menu is outright broken in 4.5 - > there is no indication which actions make sense, and there are > duplicated actions. > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator From svidhyapria at gmail.com Wed Jan 10 06:33:17 2018 From: svidhyapria at gmail.com (Vidhya Arun) Date: Wed, 10 Jan 2018 05:33:17 +0000 Subject: [Qt-creator] [QtCreator] Update additional attach and startup commands of debugger thru plugin In-Reply-To: References: <20180109110435.GB20081@troll08> <20180109120532.GA3413@troll08> <20180109145631.GA27546@troll08> Message-ID: Hello All I have a plugin written to update the kit and auto add the target devices which is working fine I would like to know how can I set the “Additional startup commands” and “Additional attach commands” from Tools->Options->Debugger. I found some options in Debugger plugin but nothing seems to be a writable option. Would help if any of you can share details if you know. Regards Vidhya -------------- next part -------------- An HTML attachment was scrubbed... URL: From andre.hartmann at iseg-hv.de Wed Jan 10 07:51:50 2018 From: andre.hartmann at iseg-hv.de (=?UTF-8?Q?Andr=c3=a9_Hartmann?=) Date: Wed, 10 Jan 2018 07:51:50 +0100 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: <20180109145631.GA27546@troll08> References: <20180109110435.GB20081@troll08> <20180109120532.GA3413@troll08> <20180109145631.GA27546@troll08> Message-ID: Am 09.01.2018 um 15:56 schrieb Oswald Buddenhagen: > On Tue, Jan 09, 2018 at 09:03:14AM -0500, Seth Raymond wrote: >> Is there a strong reason to keep the process in its current, >> parallelized state? >> > yes. for example, a conscientious committer will want to revise the file > list when during writing the commit message they notice that the commit > is non-atomic. happens to me all the time. Me too. > fwiw, qtc is imo still inferior to git gui regarding fine-grained > commits - the diff view and chunk-level staging are kinda hidden, But once you know it is there, it's no problem. There is also https://bugreports.qt.io/browse/QTCREATORBUG-18482 as suggestion to improve this. > and line-wise staging apparently isn't there at all. Line-wise staging is in my pipeline: https://codereview.qt-project.org/#/c/213165 Regards, André > in fact, the selective staging context menu is outright broken in 4.5 - > there is no indication which actions make sense, and there are > duplicated actions. > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator > > From andre.hartmann at iseg-hv.de Wed Jan 10 08:03:28 2018 From: andre.hartmann at iseg-hv.de (=?UTF-8?Q?Andr=c3=a9_Hartmann?=) Date: Wed, 10 Jan 2018 08:03:28 +0100 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: References: <20180109110435.GB20081@troll08> <20180109120532.GA3413@troll08> <20180109145631.GA27546@troll08> Message-ID: <8ba08084-9977-6d9d-144a-4e6a7d2b57f3@iseg-hv.de> Am 09.01.2018 um 17:23 schrieb Seth Raymond: >> yes. for example, a conscientious committer will want to revise the file >> list when during writing the commit message they notice that the commit >> is non-atomic. happens to me all the time. > > Would a "back"/"cancel" button at the commit message window that > returns you to the file selection window be sufficient? I'm quite sure that would break my workflow. And in all the yars I'm working with Creator, you're the first one that had such a requirement. > I'm not particularly familiar with git gui, I've only ever used git > out of the terminal (and am now learning Qt Creator's git plugin). > Invoking git via the terminal is a series process, so obviously > the process in the GUI could be done in series. I don't think so. Well, you can stage files also in Creator before commiting; but I think most people will just open the commit dialog and work from there. But if you have a suggestion how this "new way of commiting in series" could look like, you're welcome to present. > You lose an aspect of convenience for the > sake of "proper" functionality. But I'm not the one who makes those > decisions; I just wanted to report a deficiency I saw and see if there > were any known workarounds. > > Our team is just skipping the Creator git plugin altogether and will > be using git via the terminal/preferred GUI that works with the hooks > we've written. Would you tell us which "preferred GUI" allows you to do that? > >> fwiw, qtc is imo still inferior to git gui regarding fine-grained >> commits - the diff view and chunk-level staging are kinda hidden, and >> line-wise staging apparently isn't there at all. >> in fact, the selective staging context menu is outright broken in 4.5 - >> there is no indication which actions make sense, and there are >> duplicated actions. > > Sounds to me like I'm not the only person having problems with the > plugin. Hopefully some extra functionality will be added in the future > to make the plugin line up better with git tools already in place > elsewhere. Creator is an *integrated* development environment, after > all... Come on, Creators Git integration is the best I have seen so far. The only thing I miss, is an integrated Merge tool... Regards, André > > On Tue, Jan 9, 2018 at 9:56 AM, Oswald Buddenhagen > wrote: >> On Tue, Jan 09, 2018 at 09:03:14AM -0500, Seth Raymond wrote: >>> Is there a strong reason to keep the process in its current, >>> parallelized state? >>> >> yes. for example, a conscientious committer will want to revise the file >> list when during writing the commit message they notice that the commit >> is non-atomic. happens to me all the time. >> >> fwiw, qtc is imo still inferior to git gui regarding fine-grained >> commits - the diff view and chunk-level staging are kinda hidden, and >> line-wise staging apparently isn't there at all. >> in fact, the selective staging context menu is outright broken in 4.5 - >> there is no indication which actions make sense, and there are >> duplicated actions. >> _______________________________________________ >> Qt-creator mailing list >> Qt-creator at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/qt-creator > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator > > -- Dipl.-Ing. (FH) André Hartmann Softwareentwicklung / Software Development E-Mail: andre.hartmannh at iseg-hv.de | Tel: +49 351 26996-43 | Fax: +49 351 26996-21 iseg Spezialelektronik GmbH - HIGH VOLTAGE. EXACTLY. iseg-hv.de | iseg-hv.com | download.iseg-hv.com Bautzner Landstr. 23, 01454 Radeberg / Rossendorf, Germany Geschäftsführer / Managing directors: Dr. Frank Gleisberg, Dr. Joachim Pöthig Amtsgericht / Lower district court: Dresden HRB 16250 Umsatzsteuer-Id: / VAT-ID: DE812508942 News / Information https://iseg-hv.com/en/products/control#isegControl2 isegControl2 - Unified Control Software https://iseg-hv.com/en/products/detail/EHS EHS FLEX - Customize and keep the price https://iseg-hv.com/en/products/detail/EHS EHS STACK - Perfect for GEM Detectors https://iseg-hv.com/files/iseg-high-voltage-power-supplies.pdf NEW! Product catalog 2017 / 2018 released https://iseg-hv.com/en/products/detail/NHR NHR - NIM HV-Supply with reversible polarity Links https://www.linkedin.com/company/12726924 iseg on LINKEDIN | Let's stay connected! https://www.youtube.com/channel/UC5AL-ZgOqSim_1gYNnndyzQ iseg on YOUTUBE | Tutorials and more ... https://www.twitter.com/iseg_hv iseg on TWITTER | please follow! https://iseg-hv.com/files/iseg-high-voltage-power-supplies.pdf iseg CATALOG | download product catalog as PDF http://download.iseg-hv.com/ iseg DOWNLOADS | manuals, software, firmware and more... Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. From Eike.Ziller at qt.io Wed Jan 10 11:05:19 2018 From: Eike.Ziller at qt.io (Eike Ziller) Date: Wed, 10 Jan 2018 10:05:19 +0000 Subject: [Qt-creator] Dev: Qt Creator 4.6 feature freeze is approaching Message-ID: <576A9B49-F5E2-4B92-BBD3-273A7D2EB11E@qt.io> Qt Creator 4.6 feature freeze is approaching! (*) I have created the 4.6 branch(es). Please start targeting the 4.6 branch now. The master branch will still be merged regularly into 4.6, until feature freeze goes into effect next week (last merge around EOB 16.1.2018). You can even retarget existing changes on codereview (only the change owner): Just add a comment "bot: move to 4.6” (See http://lists.qt-project.org/pipermail/development/2018-January/031822.html) Br, Eike https://wiki.qt.io/Qt_Creator_Releases Qt Creator 4.6 * Feature freeze wk03 (~ Jan 16 2018) * Beta release wk05 (~ Jan 30 2018) * String freeze wk07 (~ Feb 13 2018) * Release candidate wk09 (~ Feb 27 2018) * Final release wk11 (~ Mar 13 2018) (*) Yes, this was a short “feature development phase”, and that including Christmas. On the positive note the plan is to have a “normal” cycle before 4.7, and a bit more time between 4.7 and 4.8 feature freeze which is over the summer time, and a 4.8 release that is not quite so much near the end of the year. -- Eike Ziller Principal Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin eike.ziller at qt.io http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B From s.r.alavizadeh at gmail.com Wed Jan 10 18:49:14 2018 From: s.r.alavizadeh at gmail.com (Seyyed Razi Alavizadeh) Date: Wed, 10 Jan 2018 21:19:14 +0330 Subject: [Qt-creator] Correct way to start a light IDE based on Qt Creator Message-ID: Hi there, I want to start an IDE based on Qt Creator. But I need some advice and idea before doing anything. Some questions: 1- As there are some (maybe a lot of) my application users using Windows XP, so I need to support XP. Do I have to start based on an old version of QtCreator supporting XP or I should forget about XP? 2- As "Qt Creator" is hard-coded everywhere. To rename qtcreator I have to change a lots of files. This will cause some problems for updating base code to latest qtcreator code.* Which solution is better? And, what is your suggestion? 2.a - Start implementing my app based on current stable version of QtCreator and do not consider QtCreator as an upstream project. So no need to update base code. 2.b - Start implementing my app based on latest development version of QtCreator and regularly ( daily? :/ ) update base code of my application with the latest commits from QtCreator. Maybe daily update is not very practical? *: I would liked there was an XML file that by modifying it QtCreator was completely renamed to MY_APP name. :D 3- (somehow like 1) As I want a simple and light IDE. Is it good to start based on an old version of QtCreator (such as v2.6) that have much smaller code size than newer versions of QtCreator? Sorry for my bad English. Thanks. Alavizadeh, Sayed Razi My Blog: http://pozh.org Saaghar (نرم‌افزار شعر): http://saaghar.pozh.org/ Saaghar Telegram Channel: @Saaghar Saaghar Fan Page: http://www.facebook.com/saaghar.p Saaghar Mailing List: http://groups.google.com/group/saaghar -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobias.hunger at gmail.com Wed Jan 10 21:47:10 2018 From: tobias.hunger at gmail.com (Tobias Hunger) Date: Wed, 10 Jan 2018 21:47:10 +0100 Subject: [Qt-creator] Correct way to start a light IDE based on Qt Creator In-Reply-To: References: Message-ID: On Wed, Jan 10, 2018 at 6:49 PM, Seyyed Razi Alavizadeh wrote: > Hi there, > I want to start an IDE based on Qt Creator. But I need some advice and idea > before doing anything. Some questions: > > 1- As there are some (maybe a lot of) my application users using Windows XP, > so I need to support XP. > Do I have to start based on an old version of QtCreator supporting XP or I > should forget about XP? XP is unsupported by Microsoft for a long time. So no updates, no security updates, no support from new compilers. The latter is pretty important as Creator is using more and more C++14 and later features. > 2- As "Qt Creator" is hard-coded everywhere. To rename qtcreator I have to > change a lots of files. This will cause some problems for updating base code > to latest qtcreator code.* That should be configurable now in the master branch. > Which solution is better? And, what is your suggestion? > 2.a - Start implementing my app based on current stable version of > QtCreator and do not consider QtCreator as an upstream project. So no need > to update base code. > 2.b - Start implementing my app based on latest development version of > QtCreator and regularly ( daily? :/ ) update base code of my application > with the latest commits from QtCreator. Maybe daily update is not very > practical? I would use the master branch and follow Creator releases. Try to keep your changes in your own plugins as much as possible and contribute the rest to upstream. Anything to keep the diff to upstream small spares you from the hassle to maintain it:-) > *: I would liked there was an XML file that by modifying it QtCreator was > completely renamed to MY_APP name. :D > > 3- (somehow like 1) As I want a simple and light IDE. Is it good to start > based on an old version of QtCreator (such as v2.6) that have much smaller > code size than newer versions of QtCreator? What do you want to do to slim things down? > Sorry for my bad English. No worry, bad English is the standard around here:-) Best Regards, Tobias From s.r.alavizadeh at gmail.com Thu Jan 11 04:46:34 2018 From: s.r.alavizadeh at gmail.com (Seyyed Razi Alavizadeh) Date: Thu, 11 Jan 2018 07:16:34 +0330 Subject: [Qt-creator] Correct way to start a light IDE based on Qt Creator In-Reply-To: References: Message-ID: ​​ 2018-01-11 0:17 GMT+03:30 Tobias Hunger : > On Wed, Jan 10, 2018 at 6:49 PM, Seyyed Razi Alavizadeh > wrote: > > Hi there, > > I want to start an IDE based on Qt Creator. But I need some advice and > idea > > before doing anything. Some questions: > > > > 1- As there are some (maybe a lot of) my application users using Windows > XP, > > so I need to support XP. > > Do I ha > ​​ > ve to start based on an old version of QtCreator supporting XP or I > > should forget about XP? > > XP is unsupported by Microsoft for a long time. So no updates, no > security updates, no support from new compilers. > > The latter is pretty important as Creator is using more and more C++14 > and later features. > > > 2- As "Qt Creator" is hard-coded everywhere. To rename qtcreator I have > to > > change a lots of files. This will cause some problems for updating base > code > > to latest qtcreator code.* > > That should be configurable now in the master branch. > ​Maybe you can point me to a file or commit?​ > > > Which solution is better? And, what is your suggestion? > > 2.a - Start implementing my app based on current stable version of > > QtCreator and do not consider QtCreator as an upstream project. So no > need > > to update base code. > > 2.b - Start implementing my app based on latest development version > of > > QtCreator and regularly ( daily? :/ ) update base code of my application > > with the latest commits from QtCreator. Maybe daily update is not very > > practical? > > I would use the master branch and follow Creator releases. > > Try to keep your changes in your own plugins as much as possible and > contribute the rest to upstream. > ​​ > > Anything to keep the diff to upstream small spares you from the hassle > to maintain it:-) > ​Well, what do you suggest about "doc" (and "qbs") sub-directories and also unneeded plugins?​ Removing them will complicate maintain and keeping them will complicate source-code. > > > *: I would liked there was an XML file that by modifying it QtCreator was > > completely renamed to MY_APP name. :D > > > > 3- (somehow like 1) As I want a simple and light IDE. Is it good to start > > based on an old version of QtCreator (such as v2.6) that have much > smaller > > code size than newer versions of QtCreator? > > What do you want to do to slim things down? > I do some checks, and I think there is no a big issue here. Indeed, in my qtcreator installation, the size of "clang" related files is 94MB of 176MB total size. So my application installed size will be ~80MB that is good. Also, my app will need 4-5 plugins enabled by default, so it should have a fast startup than QtCreator. > > > Sorry for my bad English. > > No worry, bad English is the standard around here:-) > ​:)​ > > Best Regards, > Tobias > ​Best Regards, Razi​ -------------- next part -------------- An HTML attachment was scrubbed... URL: From Eike.Ziller at qt.io Thu Jan 11 09:11:57 2018 From: Eike.Ziller at qt.io (Eike Ziller) Date: Thu, 11 Jan 2018 08:11:57 +0000 Subject: [Qt-creator] Correct way to start a light IDE based on Qt Creator In-Reply-To: References: Message-ID: <09B81C98-8AAA-452D-8F06-851E10909DF0@qt.io> > On 11. Jan 2018, at 04:46, Seyyed Razi Alavizadeh wrote: > > ​​ >> >> 2018-01-11 0:17 GMT+03:30 Tobias Hunger : >> On Wed, Jan 10, 2018 at 6:49 PM, Seyyed Razi Alavizadeh >> wrote: >> > Hi there, >> > I want to start an IDE based on Qt Creator. But I need some advice and idea >> > before doing anything. Some questions: >> > >> > 1- As there are some (maybe a lot of) my application users using Windows XP, >> > so I need to support XP. >> > Do I ha​​ve to start based on an old version of QtCreator supporting XP or I >> > should forget about XP? >> >> XP is unsupported by Microsoft for a long time. So no updates, no >> security updates, no support from new compilers. >> >> The latter is pretty important as Creator is using more and more C++14 >> and later features. >> >> > 2- As "Qt Creator" is hard-coded everywhere. To rename qtcreator I have to >> > change a lots of files. This will cause some problems for updating base code >> > to latest qtcreator code.* >> >> That should be configurable now in the master branch. >> > ​Maybe you can point me to a file or commit?​ https://codereview.qt-project.org/216184 A few follow-up commits fixing some things in that situation will still be coming. > > Which solution is better? And, what is your suggestion? >> > 2.a - Start implementing my app based on current stable version of >> > QtCreator and do not consider QtCreator as an upstream project. So no need >> > to update base code. >> > 2.b - Start implementing my app based on latest development version of >> > QtCreator and regularly ( daily? :/ ) update base code of my application >> > with the latest commits from QtCreator. Maybe daily update is not very >> > practical? >> >> I would use the master branch and follow Creator releases. >> >> Try to keep your changes in your own plugins as much as possible and >> contribute the rest to upstream. >> ​​ >> Anything to keep the diff to upstream small spares you from the hassle >> to maintain it:-) >> > ​Well, what do you suggest about "doc" (and "qbs") sub-directories and also unneeded plugins?​ Removing them will complicate maintain and keeping them will complicate source-code. It is true that you cannot configure these things away without touching at least a few files in the Qt Creator sources. But I’d advice to touch it as little as possible. Documentation can be changed by changing the "include(doc/doc.pri)” line in qtcreator.pro. Plugins can be “removed” (from the build) by commenting them in src/plugins/plugins.pro. The fewer files you manage to touch, the easier will updating it from upstream become. If you touch too many files, you’ll be in the situation that you will basically never be able to get fixes/changes from upstream back into your project. > >> > *: I would liked there was an XML file that by modifying it QtCreator was >> > completely renamed to MY_APP name. :D >> > >> > 3- (somehow like 1) As I want a simple and light IDE. Is it good to start >> > based on an old version of QtCreator (such as v2.6) that have much smaller >> > code size than newer versions of QtCreator? >> >> What do you want to do to slim things down? >> > I do some checks, and I think there is no a big issue here. Indeed, in my qtcreator installation, the size of "clang" related files is 94MB of 176MB total size. So my application installed size will be ~80MB that is good. Also, my app will need 4-5 plugins enabled by default, so it should have a fast startup than QtCreator. > > > Sorry for my bad English. > > No worry, bad English is the standard around here:-) > > ​:)​ > > Best Regards, > Tobias > > ​Best Regards, > Razi​ > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator From annulen at yandex.ru Thu Jan 11 09:12:04 2018 From: annulen at yandex.ru (Konstantin Tokarev) Date: Thu, 11 Jan 2018 11:12:04 +0300 Subject: [Qt-creator] prepare-commit-msg and commit-msg hooks In-Reply-To: <20180109145631.GA27546@troll08> References: <20180109110435.GB20081@troll08> <20180109120532.GA3413@troll08> <20180109145631.GA27546@troll08> Message-ID: <345701515658324@web10o.yandex.ru> > On Tue, Jan 09, 2018 at 09:03:14AM -0500, Seth Raymond wrote: > >> Is there a strong reason to keep the process in its current, >> parallelized state? > > yes. for example, a conscientious committer will want to revise the file > list when during writing the commit message they notice that the commit > is non-atomic. happens to me all the time. > > fwiw, qtc is imo still inferior to git gui regarding fine-grained > commits - the diff view and chunk-level staging are kinda hidden, and > line-wise staging apparently isn't there at all. FWIW, one can just press Ctrl-K and type "! git gui" to get it > in fact, the selective staging context menu is outright broken in 4.5 - > there is no indication which actions make sense, and there are > duplicated actions. > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator -- Regards, Konstantin From s.r.alavizadeh at gmail.com Thu Jan 11 13:23:31 2018 From: s.r.alavizadeh at gmail.com (Seyyed Razi Alavizadeh) Date: Thu, 11 Jan 2018 15:53:31 +0330 Subject: [Qt-creator] Correct way to start a light IDE based on Qt Creator In-Reply-To: <09B81C98-8AAA-452D-8F06-851E10909DF0@qt.io> References: <09B81C98-8AAA-452D-8F06-851E10909DF0@qt.io> Message-ID: 2018-01-11 11:41 GMT+03:30 Eike Ziller : > > > > On 11. Jan 2018, at 04:46, Seyyed Razi Alavizadeh < > s.r.alavizadeh at gmail.com> wrote: > > > > ​​ > >> > >> 2018-01-11 0:17 GMT+03:30 Tobias Hunger : > >> On Wed, Jan 10, 2018 at 6:49 PM, Seyyed Razi Alavizadeh > >> wrote: > >> > Hi there, > >> > I want to start an IDE based on Qt Creator. But I need some advice > and idea > >> > before doing anything. Some questions: > >> > > >> > 1- As there are some (maybe a lot of) my application users using > Windows XP, > >> > so I need to support XP. > >> > Do I ha​​ve to start based on an old version of QtCreator supporting > XP or I > >> > should forget about XP? > >> > >> XP is unsupported by Microsoft for a long time. So no updates, no > >> security updates, no support from new compilers. > >> > >> The latter is pretty important as Creator is using more and more C++14 > >> and later features. > >> > >> > 2- As "Qt Creator" is hard-coded everywhere. To rename qtcreator I > have to > >> > change a lots of files. This will cause some problems for updating > base code > >> > to latest qtcreator code.* > >> > >> That should be configurable now in the master branch. > >> > > ​Maybe you can point me to a file or commit?​ > > https://codereview.qt-project.org/216184 > > A few follow-up commits fixing some things in that situation will still be > coming. > ​​ > Great! ​Thanks​. > > > > > Which solution is better? And, what is your suggestion? > >> > 2.a - Start implementing my app based on current stable version > of > >> > QtCreator and do not consider QtCreator as an upstream project. So no > need > >> > to update base code. > >> > 2.b - Start implementing my app based on latest development > version of > >> > QtCreator and regularly ( daily? :/ ) update base code of my > application > >> > with the latest commits from QtCreator. Maybe daily update is not very > >> > practical? > >> > >> I would use the master branch and follow Creator releases. > >> > >> Try to keep your changes in your own plugins as much as possible and > >> contribute the rest to upstream. > >> ​​ > >> Anything to keep the diff to upstream small spares you from the hassle > >> to maintain it:-) > >> > > ​Well, what do you suggest about "doc" (and "qbs") sub-directories and > also unneeded plugins?​ Removing them will complicate maintain and keeping > them will complicate source-code. > > It is true that you cannot configure these things away without touching at > least a few files in the Qt Creator sources. But I’d advice to touch it as > little as possible. > Documentation can be changed by changing the "include(doc/doc.pri)” line > in qtcreator.pro. > Plugins can be “removed” (from the build) by commenting them in > src/plugins/plugins.pro. > The fewer files you manage to touch, the easier will updating it from > upstream become. > If you touch too many files, you’ll be in the situation that you will > basically never be able to get fixes/changes from upstream back into your > project. > OK. I think as you guys suggested, I will use master branch as a base and follow the idea of keeping things unmodified if there is no a major problem. Thank you guys for your time. > > > >> > *: I would liked there was an XML file that by modifying it QtCreator > was > >> > completely renamed to MY_APP name. :D > >> > > >> > 3- (somehow like 1) As I want a simple and light IDE. Is it good to > start > >> > based on an old version of QtCreator (such as v2.6) that have much > smaller > >> > code size than newer versions of QtCreator? > >> > >> What do you want to do to slim things down? > >> > > I do some checks, and I think there is no a big issue here. Indeed, in > my qtcreator installation, the size of "clang" related files is 94MB of > 176MB total size. So my application installed size will be ~80MB that is > good. Also, my app will need 4-5 plugins enabled by default, so it should > have a fast startup than QtCreator. > > > > > Sorry for my bad English. > > > > No worry, bad English is the standard around here:-) > > > > ​:)​ > > > > Best Regards, > > Tobias > > > > ​Best Regards, > > Razi​ > > > > _______________________________________________ > > Qt-creator mailing list > > Qt-creator at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/qt-creator > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vivaladav at gmail.com Tue Jan 16 02:00:24 2018 From: vivaladav at gmail.com (Davide Coppola) Date: Tue, 16 Jan 2018 02:00:24 +0100 Subject: [Qt-creator] build fail because of deprecated dependency Message-ID: Hi, I have just had a failure when trying to build qt-creator (4.5 and master branches). The issue was the lack of the Qt Script module on my system. This is the full error log: cd src/ && /home/m3xican/dev/Qt/5.10.0/gcc_64/bin/qmake -o Makefile /home/m3xican/dev/repos/qt-creator/src/src.pro -spec linux-g++ CONFIG+=debug cd src/ && /usr/bin/make -f Makefile qmake_all make[1]: Entering directory '/home/m3xican/dev/projects/build-qtcreator-4_5-debug/src' cd shared/qbs/src/lib/corelib/ && /home/m3xican/dev/Qt/5.10.0/gcc_64/bin/qmake -o Makefile /home/m3xican/dev/repos/qt-creator/src/shared/qbs/src/lib/corelib/ corelib.pro -spec linux-g++ CONFIG+=debug Project ERROR: Unknown module(s) in QT: script Makefile:48: recipe for target 'sub-shared-qbs-src-lib-corelib-qmake_all' failed make[1]: Leaving directory '/home/m3xican/dev/projects/build-qtcreator-4_5-debug/src' Makefile:39: recipe for target 'sub-src-qmake_all' failed make[1]: *** [sub-shared-qbs-src-lib-corelib-qmake_all] Error 3 make: *** [sub-src-qmake_all] Error 2 01:13:28: The process "/usr/bin/make" exited with code 2. Error while building/deploying project qtcreator (kit: Desktop Qt 5.10.0 GCC 64bit) When executing step "qmake" I fixed the build by installing Qt Script, but I was not expecting to have to do that as it is marked deprecated in the installer/maintenance tool. Is there any plan to remove this dependency (in master at least)? -- *Davide Coppola* *email:* vivaladav at gmail.com *website:* http://www.davidecoppola.com *blog:* http://blog.davidecoppola.com ‌ -------------- next part -------------- An HTML attachment was scrubbed... URL: From Christian.Stenger at qt.io Tue Jan 16 07:36:44 2018 From: Christian.Stenger at qt.io (Christian Stenger) Date: Tue, 16 Jan 2018 06:36:44 +0000 Subject: [Qt-creator] build fail because of deprecated dependency In-Reply-To: References: Message-ID: Hi Davide, Main reason for this is the Qbs submodule. Qbs needs a lot of QtScript and removing this dependency is a long term process as lots of the needed stuff would have to get reimplemented inside Qbs. So, in general you'd have 2 options for now - the one you came up yourself of installing the deprecated module and second way would be to omit the submodule, but then you would not have the Qbs integration into QC. Kind regards, Christian ________________________________________ From: Qt-creator on behalf of Davide Coppola Sent: Tuesday, January 16, 2018 2:00:24 AM To: qt-creator at qt-project.org Subject: [Qt-creator] build fail because of deprecated dependency Hi, I have just had a failure when trying to build qt-creator (4.5 and master branches). The issue was the lack of the Qt Script module on my system. This is the full error log: cd src/ && /home/m3xican/dev/Qt/5.10.0/gcc_64/bin/qmake -o Makefile /home/m3xican/dev/repos/qt-creator/src/src.pro -spec linux-g++ CONFIG+=debug cd src/ && /usr/bin/make -f Makefile qmake_all make[1]: Entering directory '/home/m3xican/dev/projects/build-qtcreator-4_5-debug/src' cd shared/qbs/src/lib/corelib/ && /home/m3xican/dev/Qt/5.10.0/gcc_64/bin/qmake -o Makefile /home/m3xican/dev/repos/qt-creator/src/shared/qbs/src/lib/corelib/corelib.pro -spec linux-g++ CONFIG+=debug Project ERROR: Unknown module(s) in QT: script Makefile:48: recipe for target 'sub-shared-qbs-src-lib-corelib-qmake_all' failed make[1]: Leaving directory '/home/m3xican/dev/projects/build-qtcreator-4_5-debug/src' Makefile:39: recipe for target 'sub-src-qmake_all' failed make[1]: *** [sub-shared-qbs-src-lib-corelib-qmake_all] Error 3 make: *** [sub-src-qmake_all] Error 2 01:13:28: The process "/usr/bin/make" exited with code 2. Error while building/deploying project qtcreator (kit: Desktop Qt 5.10.0 GCC 64bit) When executing step "qmake" I fixed the build by installing Qt Script, but I was not expecting to have to do that as it is marked deprecated in the installer/maintenance tool. Is there any plan to remove this dependency (in master at least)? -- Davide Coppola email: vivaladav at gmail.com website: http://www.davidecoppola.com blog: http://blog.davidecoppola.com [http://blog.davidecoppola.com/wp-content/plugins/social-media-widget/images/default/32/googleplus.png] [http://blog.davidecoppola.com/wp-content/plugins/social-media-widget/images/default/32/linkedin.png] [http://blog.davidecoppola.com/wp-content/plugins/social-media-widget/images/default/32/twitter.png] ‌ From Eike.Ziller at qt.io Tue Jan 16 10:06:01 2018 From: Eike.Ziller at qt.io (Eike Ziller) Date: Tue, 16 Jan 2018 09:06:01 +0000 Subject: [Qt-creator] build fail because of deprecated dependency In-Reply-To: References: Message-ID: <0DBB8CC9-AEDC-4109-B877-68DBCF39A9B1@qt.io> See the discussion on https://bugreports.qt.io/browse/QBS-913 "QtScript dependency needs to be removed” Br, Eike > On Jan 16, 2018, at 02:00, Davide Coppola wrote: > > Hi, > > I have just had a failure when trying to build qt-creator (4.5 and master branches). > > The issue was the lack of the Qt Script module on my system. > > This is the full error log: > > cd src/ && /home/m3xican/dev/Qt/5.10.0/gcc_64/bin/qmake -o Makefile /home/m3xican/dev/repos/qt-creator/src/src.pro -spec linux-g++ CONFIG+=debug > cd src/ && /usr/bin/make -f Makefile qmake_all > make[1]: Entering directory '/home/m3xican/dev/projects/build-qtcreator-4_5-debug/src' > cd shared/qbs/src/lib/corelib/ && /home/m3xican/dev/Qt/5.10.0/gcc_64/bin/qmake -o Makefile /home/m3xican/dev/repos/qt-creator/src/shared/qbs/src/lib/corelib/corelib.pro -spec linux-g++ CONFIG+=debug > Project ERROR: Unknown module(s) in QT: script > Makefile:48: recipe for target 'sub-shared-qbs-src-lib-corelib-qmake_all' failed > make[1]: Leaving directory '/home/m3xican/dev/projects/build-qtcreator-4_5-debug/src' > Makefile:39: recipe for target 'sub-src-qmake_all' failed > make[1]: *** [sub-shared-qbs-src-lib-corelib-qmake_all] Error 3 > make: *** [sub-src-qmake_all] Error 2 > 01:13:28: The process "/usr/bin/make" exited with code 2. > Error while building/deploying project qtcreator (kit: Desktop Qt 5.10.0 GCC 64bit) > When executing step "qmake" > > I fixed the build by installing Qt Script, but I was not expecting to have to do that as it is marked deprecated in the installer/maintenance tool. > > Is there any plan to remove this dependency (in master at least)? > > -- > Davide Coppola > > email: vivaladav at gmail.com > website: http://www.davidecoppola.com > blog: http://blog.davidecoppola.com > > > > > > ‌ > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator -- Eike Ziller Principal Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin eike.ziller at qt.io http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B From vivaladav at gmail.com Tue Jan 16 11:18:45 2018 From: vivaladav at gmail.com (Davide Coppola) Date: Tue, 16 Jan 2018 11:18:45 +0100 Subject: [Qt-creator] build fail because of deprecated dependency In-Reply-To: <0DBB8CC9-AEDC-4109-B877-68DBCF39A9B1@qt.io> References: <0DBB8CC9-AEDC-4109-B877-68DBCF39A9B1@qt.io> Message-ID: Thanks for the info, I started to watch the issue on JIRA. Not a big deal anyway, I was just wondering what the plans/status are for this. ‌ On 16 January 2018 at 10:06, Eike Ziller wrote: > See the discussion on > > https://bugreports.qt.io/browse/QBS-913 "QtScript dependency needs to be > removed” > > Br, Eike > > > On Jan 16, 2018, at 02:00, Davide Coppola wrote: > > > > Hi, > > > > I have just had a failure when trying to build qt-creator (4.5 and > master branches). > > > > The issue was the lack of the Qt Script module on my system. > > > > This is the full error log: > > > > cd src/ && /home/m3xican/dev/Qt/5.10.0/gcc_64/bin/qmake -o Makefile > /home/m3xican/dev/repos/qt-creator/src/src.pro -spec linux-g++ > CONFIG+=debug > > cd src/ && /usr/bin/make -f Makefile qmake_all > > make[1]: Entering directory '/home/m3xican/dev/projects/ > build-qtcreator-4_5-debug/src' > > cd shared/qbs/src/lib/corelib/ && /home/m3xican/dev/Qt/5.10.0/gcc_64/bin/qmake > -o Makefile /home/m3xican/dev/repos/qt-creator/src/shared/qbs/src/ > lib/corelib/corelib.pro -spec linux-g++ CONFIG+=debug > > Project ERROR: Unknown module(s) in QT: script > > Makefile:48: recipe for target 'sub-shared-qbs-src-lib-corelib-qmake_all' > failed > > make[1]: Leaving directory '/home/m3xican/dev/projects/ > build-qtcreator-4_5-debug/src' > > Makefile:39: recipe for target 'sub-src-qmake_all' failed > > make[1]: *** [sub-shared-qbs-src-lib-corelib-qmake_all] Error 3 > > make: *** [sub-src-qmake_all] Error 2 > > 01:13:28: The process "/usr/bin/make" exited with code 2. > > Error while building/deploying project qtcreator (kit: Desktop Qt 5.10.0 > GCC 64bit) > > When executing step "qmake" > > > > I fixed the build by installing Qt Script, but I was not expecting to > have to do that as it is marked deprecated in the installer/maintenance > tool. > > > > Is there any plan to remove this dependency (in master at least)? > > > > -- > > Davide Coppola > > > > email: vivaladav at gmail.com > > website: http://www.davidecoppola.com > > blog: http://blog.davidecoppola.com > > > > > > > > > > > > ‌ > > _______________________________________________ > > Qt-creator mailing list > > Qt-creator at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/qt-creator > > -- > Eike Ziller > Principal Software Engineer > > The Qt Company GmbH > Rudower Chaussee 13 > D-12489 Berlin > eike.ziller at qt.io > http://qt.io > Geschäftsführer: Mika Pälsi, > Juha Varelius, Mika Harjuaho > Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht > Charlottenburg, HRB 144331 B > > -- *Davide Coppola* *email:* vivaladav at gmail.com *website:* http://www.davidecoppola.com *blog:* http://blog.davidecoppola.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From Eike.Ziller at qt.io Wed Jan 17 10:10:38 2018 From: Eike.Ziller at qt.io (Eike Ziller) Date: Wed, 17 Jan 2018 09:10:38 +0000 Subject: [Qt-creator] Dev: Qt Creator 4.6 feature freeze is approaching In-Reply-To: <576A9B49-F5E2-4B92-BBD3-273A7D2EB11E@qt.io> References: <576A9B49-F5E2-4B92-BBD3-273A7D2EB11E@qt.io> Message-ID: <3AA9A4F4-6536-48E0-9BD4-93C1A0304A3A@qt.io> > On 10. Jan 2018, at 11:05, Eike Ziller wrote: > > Qt Creator 4.6 feature freeze is approaching! (*) > > I have created the 4.6 branch(es). Please start targeting the 4.6 branch now. > The master branch will still be merged regularly into 4.6, until feature freeze goes into effect next week (last merge around EOB 16.1.2018). Last merge from master -> 4.6 is done (cb97b2ee97a8fddbd94699ebfdf32d2127948aa4). 4.6 is in feature freeze now. New features go to master. Please start polishing 4.6 for the beta in 2 weeks. Happy hacking, Eike > You can even retarget existing changes on codereview (only the change owner): Just add a comment "bot: move to 4.6” > (See http://lists.qt-project.org/pipermail/development/2018-January/031822.html) > > Br, Eike > > https://wiki.qt.io/Qt_Creator_Releases > > Qt Creator 4.6 > > * Feature freeze wk03 (~ Jan 16 2018) > * Beta release wk05 (~ Jan 30 2018) > * String freeze wk07 (~ Feb 13 2018) > * Release candidate wk09 (~ Feb 27 2018) > * Final release wk11 (~ Mar 13 2018) > > (*) Yes, this was a short “feature development phase”, and that including Christmas. On the positive note the plan is to have a “normal” cycle before 4.7, and a bit more time between 4.7 and 4.8 feature freeze which is over the summer time, and a 4.8 release that is not quite so much near the end of the year. > -- Eike Ziller Principal Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin eike.ziller at qt.io http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B From vivaladav at gmail.com Tue Jan 23 11:10:16 2018 From: vivaladav at gmail.com (Davide Coppola) Date: Tue, 23 Jan 2018 11:10:16 +0100 Subject: [Qt-creator] qt creator plugin license Message-ID: Hi, is there any restriction on licensing plugins for Qt Creator? Do plugins need to comply to any specific open-source license? Can they be released as closed source (lib only)? Thanks -- *Davide Coppola* *email:* vivaladav at gmail.com *website:* http://www.davidecoppola.com *blog:* http://blog.davidecoppola.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From annulen at yandex.ru Tue Jan 23 14:45:40 2018 From: annulen at yandex.ru (Konstantin Tokarev) Date: Tue, 23 Jan 2018 16:45:40 +0300 Subject: [Qt-creator] qt creator plugin license In-Reply-To: References: Message-ID: <378971516715140@web2j.yandex.ru> 23.01.2018, 13:10, "Davide Coppola" : > Hi, > > is there any restriction on licensing plugins for Qt Creator? > > Do plugins need to comply to any specific open-source license? > > Can they be released as closed source (lib only)? Qt Creator is currently licensed as GPLv3, however there are exceptions http://code.qt.io/cgit/qt-creator/qt-creator.git/tree/LICENSE.GPL3-EXCEPT Second exceptions gives you permission to distiribute combined work consisting of Qt Creator and your binary-only plugins as long as you share modifications that you've made in Qt Creator's code. Please read original license text, and also you may want to consult lawyer. > > Thanks > > -- > Davide Coppola > > email: vivaladav at gmail.com > website: http://www.davidecoppola.com > blog: http://blog.davidecoppola.com > > , > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator --  Regards, Konstantin From skobowsky at caos-gmbh.de Fri Jan 26 14:37:34 2018 From: skobowsky at caos-gmbh.de (Tilman Skobowsky) Date: Fri, 26 Jan 2018 14:37:34 +0100 Subject: [Qt-creator] [Win, CDB] No console window while debugging (missing since QtC 4.5.0) Message-ID: Hello everybody, I run / debug on windows with VS2017 tools and CDB as debugger. My project is configured to "Run in terminal". Prior to QtC 4.5, when I hit either "Run" or "Debug", QtC showed the "qtcreator_process_stub.exe" console window where I can see certain logging info. Starting with QtC 4.5 (also tried with the 4.5.1-1841 build from the snapshots directory) I get the console window when I hit "Run" but not when I hit "Debug". Is this on purpose or am I missing some settings? (I want to upgrade to the snapshot build due to the fix of QTCREATORBUG-18613) Sincerely Tilman Skobowsky References:     https://bugreports.qt.io/browse/QTCREATORBUG-18613 From andre.hartmann at iseg-hv.de Fri Jan 26 14:55:11 2018 From: andre.hartmann at iseg-hv.de (=?UTF-8?Q?Andr=c3=a9_Hartmann?=) Date: Fri, 26 Jan 2018 14:55:11 +0100 Subject: [Qt-creator] [Win, CDB] No console window while debugging (missing since QtC 4.5.0) In-Reply-To: References: Message-ID: <648b6d32-05e6-54df-94fe-af785f16ef09@iseg-hv.de> Hi Tilman Am 26.01.2018 um 14:37 schrieb Tilman Skobowsky: > Hello everybody, > > > I run / debug on windows with VS2017 tools and CDB as debugger. > My project is configured to "Run in terminal". > Prior to QtC 4.5, when I hit either "Run" or "Debug", QtC showed the > "qtcreator_process_stub.exe" console window where I can see certain > logging info. > Starting with QtC 4.5 (also tried with the 4.5.1-1841 build from the > snapshots directory) I get the console window when I hit "Run" but not > when I hit "Debug". > > Is this on purpose or am I missing some settings? Seems like you hit QTCREATORBUG-19633 :( Regards, André https://bugreports.qt.io/browse/QTCREATORBUG-19633 > (I want to upgrade to the snapshot build due to the fix of > QTCREATORBUG-18613) > > > Sincerely > Tilman Skobowsky > > > > References: >     https://bugreports.qt.io/browse/QTCREATORBUG-18613 > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator From vivaladav at gmail.com Mon Jan 29 14:32:23 2018 From: vivaladav at gmail.com (Davide Coppola) Date: Mon, 29 Jan 2018 14:32:23 +0100 Subject: [Qt-creator] qt creator plugin license In-Reply-To: <378971516715140@web2j.yandex.ru> References: <378971516715140@web2j.yandex.ru> Message-ID: Thanks Konstantin. The wording of exception 2 is a bit ambiguous, but I asked a lawyer who said that according to his interpretation it covers my case. I was hoping in an official answer from someone from the Qt company, but this will do it for now. On 23 January 2018 at 14:45, Konstantin Tokarev wrote: > > > 23.01.2018, 13:10, "Davide Coppola" : > > Hi, > > > > is there any restriction on licensing plugins for Qt Creator? > > > > Do plugins need to comply to any specific open-source license? > > > > Can they be released as closed source (lib only)? > > Qt Creator is currently licensed as GPLv3, however there are exceptions > > http://code.qt.io/cgit/qt-creator/qt-creator.git/tree/LICENSE.GPL3-EXCEPT > > Second exceptions gives you permission to distiribute combined work > consisting of Qt Creator and your binary-only plugins as long as you share > modifications that you've made in Qt Creator's code. Please read original > license text, and also you may want to consult lawyer. > > > > > Thanks > > > > -- > > Davide Coppola > > > > email: vivaladav at gmail.com > > website: http://www.davidecoppola.com > > blog: http://blog.davidecoppola.com > > > > , > > > > _______________________________________________ > > Qt-creator mailing list > > Qt-creator at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/qt-creator > > > -- > Regards, > Konstantin > -- *Davide Coppola* *email:* vivaladav at gmail.com *website:* http://www.davidecoppola.com *blog:* http://blog.davidecoppola.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From Eike.Ziller at qt.io Wed Jan 31 10:26:44 2018 From: Eike.Ziller at qt.io (Eike Ziller) Date: Wed, 31 Jan 2018 09:26:44 +0000 Subject: [Qt-creator] Experimental plugin In-Reply-To: <1513888712.32154.1.camel@gmx.de> References: <1513888712.32154.1.camel@gmx.de> Message-ID: > On 21. Dec 2017, at 21:38, Jochen Becher wrote: > > Hi, > > after several years I would like to set the experimental flag in > ModelEditor.json.in to false. Is that OK? Sorry for the late reply. I’d be fine with that. Br, Eike -- Eike Ziller Principal Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin eike.ziller at qt.io http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B From prutka13 at gmail.com Wed Jan 31 14:20:38 2018 From: prutka13 at gmail.com (=?UTF-8?B?UGF3ZcWCIFJ1dGth?=) Date: Wed, 31 Jan 2018 14:20:38 +0100 Subject: [Qt-creator] New plugin Message-ID: Hi I would like to ask Core Developers for QtCreator: I am using QtCreator mainly for CMakeProjects and I am really flustered that there is no good option to create CPP class in actual place You want. Due to this I Have written plugin that is working on right click on ProjectNode or FolderNode in ProjectView. Then its going to open popup and fill paths for new created class according to commonly used rules in naming folders. Also path for header and source is splitted so you can change place independently. I have also implemented feature that is creating snippet to copy for CMakeFile to have it included into you target according to Node clicked. The question is if there will be possibility to have such plugin integrated into Qt after review. Thx for information's, Regards, Pawel -------------- next part -------------- An HTML attachment was scrubbed... URL: