mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-23 18:32:53 +00:00
generic: import kdevplatform and kdevelop
This commit is contained in:
parent
e58a13a33b
commit
f4850a782f
4453 changed files with 934938 additions and 8 deletions
|
@ -1,20 +1,16 @@
|
|||
# Kate project
|
||||
project (kde-extraapps)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules")
|
||||
|
||||
#search packages used by KDE
|
||||
set(QT_MIN_VERSION "4.8.2")
|
||||
find_package(KDE4 4.14.3 REQUIRED)
|
||||
include (KDE4Defaults)
|
||||
include(KDE4Defaults)
|
||||
include(GenerateExportHeader)
|
||||
|
||||
# shared libs
|
||||
set (LIBRARY_TYPE SHARED)
|
||||
set(LIBRARY_TYPE SHARED)
|
||||
|
||||
# KDE/QT definitions we want
|
||||
add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
||||
add_definitions (-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -DKTEXTEDITOR_NO_DEPRECATED)
|
||||
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
||||
add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
|
||||
|
||||
# global include directories
|
||||
include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${KDE4_INCLUDES})
|
||||
|
@ -64,3 +60,5 @@ macro_optional_add_subdirectory (skanlite)
|
|||
macro_optional_add_subdirectory (svgpart)
|
||||
macro_optional_add_subdirectory (thumbnailers)
|
||||
macro_optional_add_subdirectory (yakuake)
|
||||
macro_optional_add_subdirectory (kdevplatform)
|
||||
macro_optional_add_subdirectory (kdevelop)
|
2
kdevelop/.gitattributes
vendored
Normal file
2
kdevelop/.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*.desktop merge=ours
|
||||
*.desktop.cmake merge=ours
|
2
kdevelop/.kateconfig
Normal file
2
kdevelop/.kateconfig
Normal file
|
@ -0,0 +1,2 @@
|
|||
kate: space-indent on; indent-width 4; replace-tabs on; tab-width 4; auto-insert-doxygen on; indent-mode cstyle;
|
||||
|
3
kdevelop/.reviewboardrc
Normal file
3
kdevelop/.reviewboardrc
Normal file
|
@ -0,0 +1,3 @@
|
|||
REPOSITORY = "git://anongit.kde.org/kdevelop"
|
||||
REVIEWBOARD_URL = "https://git.reviewboard.kde.org"
|
||||
TARGET_GROUPS = "kdevelop"
|
106
kdevelop/AUTHORS
Normal file
106
kdevelop/AUTHORS
Normal file
|
@ -0,0 +1,106 @@
|
|||
Current Maintainers:
|
||||
|
||||
Andreas Pakulat <apaku@gmx.de> - Lead Maintainer
|
||||
Amilcar do Carmo Lucas <amilcar@kdevelop.org> - Maintainer - KDevelop.org
|
||||
|
||||
Previous Maintainers and their areas of expertise can be found below. It is best
|
||||
to contain the KDevelop developers list at kdevelop-devel@kdevelop.org if you have
|
||||
a question about one of these particular areas.
|
||||
|
||||
For a more complete list, please check the About Dialog from the KDevelop Help menu.
|
||||
|
||||
Ui Library, Ruby Support
|
||||
Alexander Dymo <adymo@kdevelop.org>
|
||||
|
||||
Former Lead Maintainer, CMake and Autotools support
|
||||
Matt Rogers <mattr@kde.org>
|
||||
|
||||
Main author, lots of code. :)
|
||||
Bernd Gehrmann <bernd@physik.hu-berlin.de>
|
||||
|
||||
Debugger frontend:
|
||||
John Birch <jbb@kdevelop.org>
|
||||
|
||||
C++ source parser:
|
||||
Jonas Nordin <jonas.nordin@cenacle.se>
|
||||
|
||||
Java support:
|
||||
Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
||||
|
||||
Framework, dialogs, PHP support:
|
||||
Sandy Meier <smeier@kdevelop.org>
|
||||
|
||||
Several parts, htdig searching & indexing:
|
||||
Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
|
||||
|
||||
Help with Automake manager:
|
||||
Victor Roeder <victor_roeder@gmx.de>
|
||||
|
||||
KDE application templates:
|
||||
Kurth Granroth <kurt@granroth.org>
|
||||
|
||||
editing component:
|
||||
The KWrite authors <kwrite-devel@kde.org>
|
||||
|
||||
QEditor part, help for code-completion, abbrev part:
|
||||
Roberto Raggi <roberto@kdevelop.org>
|
||||
|
||||
Qt 3 port, various patches:
|
||||
Harald Fernengel <harry@kdevelop.org>
|
||||
|
||||
Help with KParts, KGenericFactory and other KDE infrastructure:
|
||||
Simon Hausmann <hausmann@kde.org>
|
||||
|
||||
Subversion KPart:
|
||||
Mickael Marchand <marchand@kde.org>
|
||||
|
||||
Patches:
|
||||
Dominic Seichter <domseichter@t-online.de>
|
||||
Yann Hodique <Yann.Hodique@lifl.fr>
|
||||
Heinz Hornung <Hornung-Heinz@t-online.de>
|
||||
|
||||
SplashScreens:
|
||||
Marion Klein <MarionKlein@wanadoo.fr>
|
||||
Ram<61> Lamana Villar <ramon@alumnos.upm.es>
|
||||
|
||||
KDevTabBar, bug fixes, Gideon Release:
|
||||
Caleb Tennis <caleb@aei-tech.com>
|
||||
|
||||
PartExplorer, (bugs for) CvsPart:
|
||||
Mario Scalas <mario.scalas@libero.it>
|
||||
|
||||
Pascal support and project parts, Filecreate GUI,
|
||||
Documentation viewer improvements
|
||||
Alexander Dymo <cloudtemple@mksat.net>
|
||||
|
||||
Application wizard improvementes, application templates, documentation, bug fixes:
|
||||
Dominik Haumann <dhdev@gmx.de>
|
||||
|
||||
DistPart, Bash Shell Support:
|
||||
Ian Reinhart Geiser <geiseri@kde.org>
|
||||
|
||||
API Documentation, Run Options, code reorganization. Fixes for project templates, autotools and doxygen.
|
||||
Amilcar Lucas <amilcar@kdevelop.org>
|
||||
|
||||
Replace plugin, Bookmarks plugin, FileList plugin, CTags2 plugin, Overall improvements and patches
|
||||
Jens Dagerbo <jens.dagerbo@swipnet.se>
|
||||
|
||||
SnippetPart, debugger and usability patches
|
||||
Robert Gruber <rgruber@users.sourceforge.net>
|
||||
|
||||
|
||||
Other software included in the source package:
|
||||
|
||||
* KDE 2.0 Development Book
|
||||
David Sweet, et al.
|
||||
Copyright notices see in doc/kde2book
|
||||
|
||||
* GNU libc documentation
|
||||
Sandra Loosemore, Richard M. Stallman, Roland McGrath,
|
||||
Andrew Oram, and Ulrich Drepper
|
||||
Copyright notices see in doc/libc
|
||||
|
||||
* STL documentation
|
||||
SGI, Inc.
|
||||
Copyright notices see in doc/stl
|
||||
|
43
kdevelop/CHANGELOG.4.7.1
Normal file
43
kdevelop/CHANGELOG.4.7.1
Normal file
|
@ -0,0 +1,43 @@
|
|||
ChangeLog for kdevelop v4.7.1
|
||||
=============================
|
||||
|
||||
* Milian Wolff: Prepare release of 4.7.1
|
||||
* Kevin Funk: Fix CMakePreferences sizing
|
||||
* Kevin Funk: cpp: Fix conversion warnings
|
||||
* Kevin Funk: PVS V555 fix
|
||||
* Kevin Funk: includeswidget: Use KMessageWidget
|
||||
* Kevin Funk: Lower-case project name
|
||||
* René J.V. Bertin: Avoid setting CMake variables globally that also exist as target-specific.
|
||||
* René J.V. Bertin: OS X: * additional protection against App Nap and automaticTermination * really set the BundleDisplayName * generate an application icon resource
|
||||
* René J.V. Bertin: [OS X] Set the Info.plist bundle name to KDevelop and the Info String to the longer string. Also disable support for automatic termination in the Info.plist.
|
||||
* Kevin Funk: mac: Use correct bundle version
|
||||
* HuiJie Zhang: Fix bug on multi-line function-macros expansion,
|
||||
* Milian Wolff: Delete some dead code
|
||||
* René J.V. Bertin: fix indentation REVIEW: 121391
|
||||
* René J.V. Bertin: [OS X] create a dedicated Info.plist for kdevelop REVIEW: 121394
|
||||
* René J.V. Bertin: Avoid inappropriate warning about faulty ninja.build file from gdb/CMakeLists.txt REVIEW: 121391
|
||||
* Kevin Funk: Hack for making build with CMake 2.8 and Ninja
|
||||
* Kevin Funk: Remove .kdev4 file from subdirectory
|
||||
* Kevin Funk: Revert "MissingDeclarationAssistant: Only show identifier"
|
||||
* Kevin Funk: Disable missing decl assistant for namespaced ids
|
||||
* Kevin Funk: Fix test in combination with GCC 4.9.1 and -O2
|
||||
* Kevin Funk: Don't access dangling pointer
|
||||
* Nicolas Werner: Fix environment-cd for paths containing spaces.
|
||||
* Kevin Funk: Make compile for me
|
||||
* Milian Wolff: Reduce QVariant usage.
|
||||
* Milian Wolff: Fix regressions introduced by recent refactoring.
|
||||
* Milian Wolff: Minor code cleanup
|
||||
* Milian Wolff: Use the add_debuggable_executable macro everywhere its required.
|
||||
* Milian Wolff: Revert "Use debugfull configuration whenever it is available."
|
||||
* Milian Wolff: Use debugfull configuration whenever it is available.
|
||||
* Milian Wolff: Refactor the custom defines and includes plugin.
|
||||
* Milian Wolff: Fix regression: Don't remove the KDEV_USE_EXTENSION_INTERFACE.
|
||||
* Milian Wolff: Fix assertion about unknown projects in the IDAIM.
|
||||
* Aleix Pol: Change precedence of default include paths
|
||||
* Milian Wolff: Fixup signal connection
|
||||
* Milian Wolff: Fix compile with clang 3.5
|
||||
* Pino Toscano: gdb: "#else if" does not exist, "#elif" does
|
||||
* Pino Toscano: gdb: fix member order
|
||||
* Pino Toscano: fix ByteArray/QByteArray typo
|
||||
* René J.V. Bertin: Enables the debugger on OS X. Requires presence of a recent gdb version, e.g. from MacPorts. REVIEW: 120510
|
||||
* Kevin Funk: Fix uninitialized member 'kind'
|
91
kdevelop/CMakeLists.txt
Normal file
91
kdevelop/CMakeLists.txt
Normal file
|
@ -0,0 +1,91 @@
|
|||
# KDevelop version
|
||||
set( KDEVELOP_VERSION_MAJOR 4 )
|
||||
set( KDEVELOP_VERSION_MINOR 7 )
|
||||
set( KDEVELOP_VERSION_PATCH 1 )
|
||||
# KDevplatform dependency version
|
||||
set( KDEVPLATFORM_VERSION "1.${KDEVELOP_VERSION_MINOR}.${KDEVELOP_VERSION_PATCH}" )
|
||||
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
|
||||
project(KDevelop)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${KDevelop_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
|
||||
|
||||
set(KDE_MIN_VERSION "4.7.0")
|
||||
find_package(KDE4 4.7.0 REQUIRED)
|
||||
|
||||
include (KDE4Defaults)
|
||||
include (MacroLibrary)
|
||||
include (MacroOptionalAddSubdirectory)
|
||||
|
||||
find_package(QJSON)
|
||||
# QJSON <=0.7.1 provides variables with lower case prefix, see bug 331426
|
||||
if (QJSON_VERSION VERSION_LESS "0.7.2")
|
||||
set(QJSON_LIBRARIES ${qjson_LIBRARIES})
|
||||
set(QJSON_INCLUDE_DIR ${qjson_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
# Make sure that we're having RPATH on our installed libs, else using kdevelop
|
||||
# from prefixes like $HOME/kdevelop breaks
|
||||
# Code taken from FindKDE4Internal.cmake from KDE 4.5
|
||||
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_INSTALL_DIR}"
|
||||
_isSystemLibDir)
|
||||
if("${_isSystemLibDir}" STREQUAL "-1")
|
||||
set(CMAKE_INSTALL_RPATH "${LIB_INSTALL_DIR}")
|
||||
endif("${_isSystemLibDir}" STREQUAL "-1")
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
|
||||
find_package(KDevPlatform ${KDEVPLATFORM_VERSION} REQUIRED)
|
||||
|
||||
include_directories(${KDEVPLATFORM_INCLUDE_DIR})
|
||||
|
||||
add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DHAVE_CONFIG_H=1)
|
||||
add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
# in Qt 4, clang support is lacking...
|
||||
add_definitions("-DQ_COMPILER_INITIALIZER_LISTS=1")
|
||||
endif()
|
||||
|
||||
# Turn off missing-field-initializers warning to avoid noise from false positives with empty {}
|
||||
# See discussion: http://mail.kde.org/pipermail/kdevelop-devel/2014-February/046910.html
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers")
|
||||
endif()
|
||||
|
||||
include_directories(${KDevelop_SOURCE_DIR} ${KDevelop_BINARY_DIR} ${KDE4_INCLUDES} )
|
||||
|
||||
# create config.h
|
||||
configure_file (config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )
|
||||
|
||||
add_subdirectory(cmake)
|
||||
add_subdirectory(pics)
|
||||
add_subdirectory(app)
|
||||
add_subdirectory(formatters)
|
||||
add_subdirectory(languages)
|
||||
add_subdirectory(projectbuilders)
|
||||
add_subdirectory(projectmanagers)
|
||||
add_subdirectory(debuggers)
|
||||
add_subdirectory(app_templates)
|
||||
add_subdirectory(documentation)
|
||||
add_subdirectory(kdeintegration)
|
||||
add_subdirectory(utils)
|
||||
add_subdirectory(file_templates)
|
||||
add_subdirectory(providers)
|
||||
|
||||
macro_display_feature_log()
|
||||
|
||||
include(CTest)
|
||||
|
||||
# CTestCustom.cmake has to be in the CTEST_BINARY_DIR.
|
||||
# in the KDE build system, this is the same as CMAKE_BINARY_DIR.
|
||||
configure_file(${CMAKE_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_BINARY_DIR}/CTestCustom.cmake)
|
||||
|
||||
include(MacroOptionalAddSubdirectory)
|
||||
macro_optional_add_subdirectory( po )
|
340
kdevelop/COPYING
Normal file
340
kdevelop/COPYING
Normal file
|
@ -0,0 +1,340 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
397
kdevelop/COPYING.DOC
Normal file
397
kdevelop/COPYING.DOC
Normal file
|
@ -0,0 +1,397 @@
|
|||
GNU Free Documentation License
|
||||
Version 1.2, November 2002
|
||||
|
||||
|
||||
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
0. PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
functional and useful document "free" in the sense of freedom: to
|
||||
assure everyone the effective freedom to copy and redistribute it,
|
||||
with or without modifying it, either commercially or noncommercially.
|
||||
Secondarily, this License preserves for the author and publisher a way
|
||||
to get credit for their work, while not being considered responsible
|
||||
for modifications made by others.
|
||||
|
||||
This License is a kind of "copyleft", which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
|
||||
|
||||
1. APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work, in any medium, that
|
||||
contains a notice placed by the copyright holder saying it can be
|
||||
distributed under the terms of this License. Such a notice grants a
|
||||
world-wide, royalty-free license, unlimited in duration, to use that
|
||||
work under the conditions stated herein. The "Document", below,
|
||||
refers to any such manual or work. Any member of the public is a
|
||||
licensee, and is addressed as "you". You accept the license if you
|
||||
copy, modify or distribute the work in a way requiring permission
|
||||
under copyright law.
|
||||
|
||||
A "Modified Version" of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A "Secondary Section" is a named appendix or a front-matter section of
|
||||
the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall subject
|
||||
(or to related matters) and contains nothing that could fall directly
|
||||
within that overall subject. (Thus, if the Document is in part a
|
||||
textbook of mathematics, a Secondary Section may not explain any
|
||||
mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
|
||||
The "Invariant Sections" are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License. If a
|
||||
section does not fit the above definition of Secondary then it is not
|
||||
allowed to be designated as Invariant. The Document may contain zero
|
||||
Invariant Sections. If the Document does not identify any Invariant
|
||||
Sections then there are none.
|
||||
|
||||
The "Cover Texts" are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License. A Front-Cover Text may
|
||||
be at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||
|
||||
A "Transparent" copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, that is suitable for revising the document
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup, or absence of markup, has been arranged to thwart
|
||||
or discourage subsequent modification by readers is not Transparent.
|
||||
An image format is not Transparent if used for any substantial amount
|
||||
of text. A copy that is not "Transparent" is called "Opaque".
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
ASCII without markup, Texinfo input format, LaTeX input format, SGML
|
||||
or XML using a publicly available DTD, and standard-conforming simple
|
||||
HTML, PostScript or PDF designed for human modification. Examples of
|
||||
transparent image formats include PNG, XCF and JPG. Opaque formats
|
||||
include proprietary formats that can be read and edited only by
|
||||
proprietary word processors, SGML or XML for which the DTD and/or
|
||||
processing tools are not generally available, and the
|
||||
machine-generated HTML, PostScript or PDF produced by some word
|
||||
processors for output purposes only.
|
||||
|
||||
The "Title Page" means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, "Title Page" means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
A section "Entitled XYZ" means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
specific section name mentioned below, such as "Acknowledgements",
|
||||
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
|
||||
of such a section when you modify the Document means that it remains a
|
||||
section "Entitled XYZ" according to this definition.
|
||||
|
||||
The Document may include Warranty Disclaimers next to the notice which
|
||||
states that this License applies to the Document. These Warranty
|
||||
Disclaimers are considered to be included by reference in this
|
||||
License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and has
|
||||
no effect on the meaning of this License.
|
||||
|
||||
|
||||
2. VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
|
||||
|
||||
3. COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies (or copies in media that commonly have
|
||||
printed covers) of the Document, numbering more than 100, and the
|
||||
Document's license notice requires Cover Texts, you must enclose the
|
||||
copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a computer-network location from which the general network-using
|
||||
public has access to download using public-standard network protocols
|
||||
a complete Transparent copy of the Document, free of added material.
|
||||
If you use the latter option, you must take reasonably prudent steps,
|
||||
when you begin distribution of Opaque copies in quantity, to ensure
|
||||
that this Transparent copy will remain thus accessible at the stated
|
||||
location until at least one year after the last time you distribute an
|
||||
Opaque copy (directly or through your agents or retailers) of that
|
||||
edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
|
||||
|
||||
4. MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
|
||||
A. Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.
|
||||
B. List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has fewer than five),
|
||||
unless they release you from this requirement.
|
||||
C. State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
D. Preserve all the copyright notices of the Document.
|
||||
E. Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
F. Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.
|
||||
G. Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.
|
||||
H. Include an unaltered copy of this License.
|
||||
I. Preserve the section Entitled "History", Preserve its Title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section Entitled "History" in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.
|
||||
J. Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the "History" section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
K. For any section Entitled "Acknowledgements" or "Dedications",
|
||||
Preserve the Title of the section, and preserve in the section all
|
||||
the substance and tone of each of the contributor acknowledgements
|
||||
and/or dedications given therein.
|
||||
L. Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.
|
||||
M. Delete any section Entitled "Endorsements". Such a section
|
||||
may not be included in the Modified Version.
|
||||
N. Do not retitle any existing section to be Entitled "Endorsements"
|
||||
or to conflict in title with any Invariant Section.
|
||||
O. Preserve any Warranty Disclaimers.
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
|
||||
You may add a section Entitled "Endorsements", provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties--for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
|
||||
|
||||
5. COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice, and that you preserve all their Warranty Disclaimers.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
|
||||
In the combination, you must combine any sections Entitled "History"
|
||||
in the various original documents, forming one section Entitled
|
||||
"History"; likewise combine any sections Entitled "Acknowledgements",
|
||||
and any sections Entitled "Dedications". You must delete all sections
|
||||
Entitled "Endorsements".
|
||||
|
||||
|
||||
6. COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
|
||||
|
||||
7. AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, is called an "aggregate" if the copyright
|
||||
resulting from the compilation is not used to limit the legal rights
|
||||
of the compilation's users beyond what the individual works permit.
|
||||
When the Document is included in an aggregate, this License does not
|
||||
apply to the other works in the aggregate which are not themselves
|
||||
derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one half of
|
||||
the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that bracket the Document within the aggregate, or the
|
||||
electronic equivalent of covers if the Document is in electronic form.
|
||||
Otherwise they must appear on printed covers that bracket the whole
|
||||
aggregate.
|
||||
|
||||
|
||||
8. TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License, and all the license notices in the
|
||||
Document, and any Warranty Disclaimers, provided that you also include
|
||||
the original English version of this License and the original versions
|
||||
of those notices and disclaimers. In case of a disagreement between
|
||||
the translation and the original version of this License or a notice
|
||||
or disclaimer, the original version will prevail.
|
||||
|
||||
If a section in the Document is Entitled "Acknowledgements",
|
||||
"Dedications", or "History", the requirement (section 4) to Preserve
|
||||
its Title (section 1) will typically require changing the actual
|
||||
title.
|
||||
|
||||
|
||||
9. TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to
|
||||
copy, modify, sublicense or distribute the Document is void, and will
|
||||
automatically terminate your rights under this License. However,
|
||||
parties who have received copies, or rights, from you under this
|
||||
License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
|
||||
10. FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
http://www.gnu.org/copyleft/.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License "or any later version" applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation.
|
||||
|
||||
|
||||
ADDENDUM: How to use this License for your documents
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
|
||||
Copyright (c) YEAR YOUR NAME.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||
A copy of the license is included in the section entitled "GNU
|
||||
Free Documentation License".
|
||||
|
||||
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
||||
replace the "with...Texts." line with this:
|
||||
|
||||
with the Invariant Sections being LIST THEIR TITLES, with the
|
||||
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
|
||||
|
||||
If you have Invariant Sections without Cover Texts, or some other
|
||||
combination of the three, merge those two alternatives to suit the
|
||||
situation.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License,
|
||||
to permit their use in free software.
|
510
kdevelop/COPYING.LIB
Normal file
510
kdevelop/COPYING.LIB
Normal file
|
@ -0,0 +1,510 @@
|
|||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations
|
||||
below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it
|
||||
becomes a de-facto standard. To achieve this, non-free programs must
|
||||
be allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control
|
||||
compilation and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at least
|
||||
three years, to give the same user the materials specified in
|
||||
Subsection 6a, above, for a charge no more than the cost of
|
||||
performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply, and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License
|
||||
may add an explicit geographical distribution limitation excluding those
|
||||
countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms
|
||||
of the ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library.
|
||||
It is safest to attach them to the start of each source file to most
|
||||
effectively convey the exclusion of warranty; and each file should
|
||||
have at least the "copyright" line and a pointer to where the full
|
||||
notice is found.
|
||||
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or
|
||||
your school, if any, to sign a "copyright disclaimer" for the library,
|
||||
if necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James
|
||||
Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
|
13
kdevelop/CTestConfig.cmake
Normal file
13
kdevelop/CTestConfig.cmake
Normal file
|
@ -0,0 +1,13 @@
|
|||
## This file should be placed in the root directory of your project.
|
||||
## Then modify the CMakeLists.txt file in the root directory of your
|
||||
## project to incorporate the testing dashboard.
|
||||
## # The following are required to uses Dart and the Cdash dashboard
|
||||
## ENABLE_TESTING()
|
||||
## INCLUDE(Dart)
|
||||
set(CTEST_PROJECT_NAME "KDevelop")
|
||||
set(CTEST_NIGHTLY_START_TIME "03:15:00 CET")
|
||||
|
||||
set(CTEST_DROP_METHOD "http")
|
||||
set(CTEST_DROP_SITE "my.cdash.org")
|
||||
set(CTEST_DROP_LOCATION "/submit.php?project=KDevelop")
|
||||
set(CTEST_DROP_SITE_CDASH TRUE)
|
25
kdevelop/CTestCustom.cmake
Normal file
25
kdevelop/CTestCustom.cmake
Normal file
|
@ -0,0 +1,25 @@
|
|||
# This file contains all the specific settings that will be used
|
||||
# when running 'make Experimental'
|
||||
|
||||
# Change the maximum warnings that will be displayed
|
||||
# on the report page (default 50)
|
||||
set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 1000)
|
||||
|
||||
# Warnings that will be ignored
|
||||
set(CTEST_CUSTOM_WARNING_EXCEPTION
|
||||
${CTEST_CUSTOM_WARNING_EXCEPTION}
|
||||
# "/plugins/subversion/kdevsvncpp/"
|
||||
)
|
||||
|
||||
# Errors that will be ignored
|
||||
set(CTEST_CUSTOM_ERROR_EXCEPTION
|
||||
${CTEST_CUSTOM_ERROR_EXCEPTION}
|
||||
# "ICECC"
|
||||
# "Segmentation fault"
|
||||
# "GConf Error"
|
||||
# "Client failed to connect to the D-BUS daemon"
|
||||
# "Failed to connect to socket"
|
||||
)
|
||||
|
||||
# No coverage for these files
|
||||
set(CTEST_CUSTOM_COVERAGE_EXCLUDE ".moc$" "moc_" "ui_")
|
270
kdevelop/Doxyfile
Normal file
270
kdevelop/Doxyfile
Normal file
|
@ -0,0 +1,270 @@
|
|||
# Doxyfile 1.5.1-KDevelop
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = KDevelop
|
||||
PROJECT_NUMBER = "Version 4.0"
|
||||
OUTPUT_DIRECTORY = ./apidocs
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF = "The $name class" \
|
||||
"The $name widget" \
|
||||
"The $name file" \
|
||||
is \
|
||||
provides \
|
||||
specifies \
|
||||
contains \
|
||||
represents \
|
||||
a \
|
||||
an \
|
||||
the
|
||||
ALWAYS_DETAILED_SEC = YES
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = YES
|
||||
STRIP_FROM_PATH = $(PWD)/
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = YES
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 4
|
||||
ALIASES = obsolete=@deprecated \
|
||||
"feature=\xrefitem features \"Feature(s)\" \"Features\"" \
|
||||
"maintainer=\xrefitem maintainers \"Maintainer(s)\" \"Maintainers\"" \
|
||||
"unmaintained=\xrefitem unmaintained \"Unmaintained\" \"Unmaintained\"" \
|
||||
"requirement=\xrefitem requirements \"Requirement(s)\" \"Requirements\"" \
|
||||
"faq=\xrefitem FAQ \"F.A.Q.\" \"F.A.Q.\"" \
|
||||
"authors=\xrefitem authors \"Author(s)\" \"Authors\"" \
|
||||
"FIXME=\xrefitem fixme \"Fixme\" \"Fixme\""
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = YES
|
||||
EXTRACT_STATIC = YES
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = NO
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = NO
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = YES
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT =
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = doc/api \
|
||||
lib/interfaces \
|
||||
lib/config \
|
||||
lib/editor \
|
||||
lib/language \
|
||||
lib/project \
|
||||
lib/shell \
|
||||
lib/sublime
|
||||
FILE_PATTERNS = *.h \
|
||||
*.cpp \
|
||||
*.cc \
|
||||
*.hpp \
|
||||
*.dox \
|
||||
*.c++ \
|
||||
*.cxx \
|
||||
*.h++ \
|
||||
*.hh
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS = *.moc.* \
|
||||
moc* \
|
||||
*.all_cpp.* \
|
||||
*unload.* \
|
||||
*/test/* \
|
||||
*/tests/* \
|
||||
*face_skel.cpp \
|
||||
*.ui.h \
|
||||
kdev*
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH = ./doc/api
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = YES
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 3
|
||||
IGNORE_PREFIX = K
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = ./html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER = doc/api/common/header.html
|
||||
HTML_FOOTER = doc/api/common/footer.html
|
||||
HTML_STYLESHEET = doc/api/common/doxygen.css
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = YES
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = ./latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = YES
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = YES
|
||||
USE_PDFLATEX = YES
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = ./rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = ./man
|
||||
MAN_EXTENSION = .kde3
|
||||
MAN_LINKS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = YES
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED = ANTLR_USE_NAMESPACE(_x_)=_x_::
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = $(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/interfaces/interfaces.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/interfaces/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kdecore/kdecore.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kdecore/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kdefx/kdefx.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kdefx/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kdeui/kdeui.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kdeui/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/khtml/khtml.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/khtml/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kio/kio.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kio/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kjs/kjs.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kjs/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kparts/kparts.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kparts/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kutils/kutils.tag=$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/kutils/html/ \
|
||||
$(KDEDIR)/share/doc/HTML/en/kdelibs-apidocs/qt/qt.tag=$(QTDIR)/doc/html
|
||||
GENERATE_TAGFILE = ./apidocs/kdevelop.tag
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = NO
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
HIDE_UNDOC_RELATIONS = NO
|
||||
HAVE_DOT = YES
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = YES
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
CALLER_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_DEPTH = 0
|
||||
DOT_TRANSPARENT = NO
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
4
kdevelop/ExtraDesktop.sh
Normal file
4
kdevelop/ExtraDesktop.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
#! /bin/sh
|
||||
#This file outputs in a separate line each file with a .desktop syntax
|
||||
#that needs to be translated but has a non .desktop extension
|
||||
find -name \*.kdevtemplate -print
|
9
kdevelop/HACKING
Normal file
9
kdevelop/HACKING
Normal file
|
@ -0,0 +1,9 @@
|
|||
To change KDevelop's code please read the API documentation generated by doxygen at:
|
||||
|
||||
http://www.kdevelop.org/
|
||||
|
||||
or generate it yourself:
|
||||
|
||||
/path/to/kdelibs/doc/api/doxygen.sh --recurse --doxdatadir=/path/to/kdelibs/doc/common /path/to/kdevplatform ( the generated documentation will be at kdevplatform-apidocs )
|
||||
|
||||
or read *.dox files in the doc/api/ directory.
|
14
kdevelop/HACKING.language
Normal file
14
kdevelop/HACKING.language
Normal file
|
@ -0,0 +1,14 @@
|
|||
To find how to add support for a new programming language to KDevelop
|
||||
please read the API documentation generated by doxygen at:
|
||||
|
||||
http://www.kdevelop.org/
|
||||
or
|
||||
http://api.kde.org/4.x-api/kdevplatform-apidocs/language/duchain/html/Implementing.html
|
||||
|
||||
or generate it yourself:
|
||||
|
||||
look at HACKING
|
||||
|
||||
or read the file:
|
||||
|
||||
doc/api/HowToAddProgrammingLanguages.dox
|
3
kdevelop/INSTALL
Normal file
3
kdevelop/INSTALL
Normal file
|
@ -0,0 +1,3 @@
|
|||
Please read the documentation on our wiki:
|
||||
|
||||
http://techbase.kde.org/Projects/KDevelop4/HowToCompile
|
15
kdevelop/README
Normal file
15
kdevelop/README
Normal file
|
@ -0,0 +1,15 @@
|
|||
KDevelop IDE and Platform
|
||||
---------------------------
|
||||
General information about KDevelop: http://www.kdevelop.org/
|
||||
Compiling instructions: http://techbase.kde.org/Projects/KDevelop4/HowToCompile
|
||||
|
||||
KDevelop Platform API Documentation
|
||||
------------------------------------
|
||||
API documentation is available from http://api.kde.org/extragear-api/kdevelop-apidocs/kdevplatform/html/index.html
|
||||
|
||||
To build it by yourself, make sure you have the kdelibs source available
|
||||
Run
|
||||
kdelibs/doc/api/doxygen.sh --doxdatadir=kdelibs/doc/common ./
|
||||
in the KDevelop top source directory to generate the API documentation. kdelibs
|
||||
refers to the kdelibs sources that you need to have downloaded.
|
||||
|
204
kdevelop/README.devel
Normal file
204
kdevelop/README.devel
Normal file
|
@ -0,0 +1,204 @@
|
|||
General
|
||||
-------
|
||||
KDevelop 2 could be generally divided into the following categories:
|
||||
|
||||
- The core: Which connects the parts and plug-ins to the user
|
||||
interface
|
||||
- Parts: Which implements various parts of the KDevelop based on
|
||||
Components architecture.
|
||||
- Plug-ins: Which implements some other stuff based on the plug-in
|
||||
architecture. For the difference between Components and plug-ins
|
||||
see bellow.
|
||||
|
||||
The Core
|
||||
--------
|
||||
Resided in kdevelop/, sets up the GUI, loads various components
|
||||
(throug the Component Manager - see bellow), communicates with the
|
||||
components to let them talk to the user interface.
|
||||
|
||||
Components/Component Architecture
|
||||
---------------------------------
|
||||
Initial functionalities whithin KDevelop are divided into some
|
||||
Parts. These are parts which KDevelop needs to run and function. For
|
||||
instance you can think of the editor, or the class parser.
|
||||
|
||||
To give the component identities and uniformation, they shold be
|
||||
derived from the class KDevComponent as defined in
|
||||
kdevelop/lib/ComponentManager/kdevcomponent.h. This class defines some
|
||||
minimal functionality needed for instance for communications. Each
|
||||
component can communicate with other components or with the core.
|
||||
KDevComponent defines some virtual methods which could be overrided in
|
||||
each component.
|
||||
|
||||
To let the components communicate with each other, every component
|
||||
should have some minimum access to the component which it's going to
|
||||
communicate with. That's why the communicating components should be
|
||||
divided into a generalization and a specialization.
|
||||
|
||||
The Generalization is directly derived from KDevComponent and provides
|
||||
minimum access for other components which may communicate. The
|
||||
Specialization is a derived class from the Generalization, and extends
|
||||
the components and implements it fully. The generalizations are
|
||||
resided in kdevelop/lib/ComponentManger/Components/ and the
|
||||
specializations are defined as Parts in kdevelop/parts.
|
||||
|
||||
If a component does not need to communicate with other components, or
|
||||
nobody wants to communicate with it, it does not need to have
|
||||
generalization and it could directly derive from KDevComponent. In
|
||||
this case it is called a global component.
|
||||
|
||||
The Generalizations are identified externally by ServiceTypes of
|
||||
KDE. The Specializations are identified externally by Services.
|
||||
The MUST have these. (See Component Manager)
|
||||
|
||||
The components can communicate also with the core, or the core may
|
||||
want to communicate with them. This happens through the Component
|
||||
Manager (See bellow).
|
||||
|
||||
Plug-ins/ Plug-in architecture
|
||||
------------------------------
|
||||
Extended specializations of the Parts and also some other
|
||||
functionalities are defined as Plug-ins. Plug-ins are resided in
|
||||
/kdevelop/plugin.
|
||||
|
||||
Component Manager
|
||||
-----------------
|
||||
To give a uniform structure to the Core<->Component communications and
|
||||
to organize the loading/unloading the componens and to register them
|
||||
correctly there is Component Manager.
|
||||
|
||||
Class KDevComponentManager, resided in lib/ComponentManager is
|
||||
responsible for loading the components (using the klibloader and
|
||||
kservice). Everybody (mostly the core) who wants to load a component,
|
||||
loads it using the KDevComponentManager. KDevComponentManager
|
||||
provides the needed methods. When KDevComponentManager loads a module,
|
||||
registers it as well, so it can give the pointer to the rest, if they
|
||||
ask for it.
|
||||
|
||||
Another aspect of the KDevComponentManager is the Core<->Component
|
||||
communications. It provides some public slots and signals. Send the
|
||||
right signal to it, it distributes the signal over the registerd
|
||||
components. So can the core communicate easily with the components
|
||||
just using the KDevComponentManager to deliver its qt signals.
|
||||
|
||||
Creating a KDevComponent
|
||||
------------------------
|
||||
A new KDevComponent should have the following characters:
|
||||
|
||||
- It could have a generalization.
|
||||
- It must have a specialization.
|
||||
- The generalization (if exists) must derive from the class
|
||||
KDevComponent.
|
||||
- The specialization must derive from the generalization (if exists,
|
||||
otherwise from the class KDevComponent)
|
||||
- The generalization (if exists) must provide a ServiceType.
|
||||
- The specialization must provide a Service associating with the
|
||||
ServiceType of the generalization (if exists, otherwise the
|
||||
ServiceType of KDevComponent).
|
||||
- The generalization (if exists) must reside in
|
||||
kdevelop/lib/ComponentManager/Components.
|
||||
- The specialization must reside in kdevelop/parts.
|
||||
- It must have a KInstance and should be able to be loaded with
|
||||
klibloader.
|
||||
|
||||
Note:
|
||||
Not everything should be component. The Component architecture is
|
||||
complex enough and should stay understandable. Take a look, perhaps it
|
||||
is better to make a plug-in out of it.
|
||||
|
||||
KDevNode
|
||||
--------
|
||||
A KDevNode (lib/general/kdevnodes.h) is a data structure which holds
|
||||
information for an object in KDevelop. This can be used if components
|
||||
want to exchange information about a specific object. For instance a
|
||||
Projectspace can raise the signal
|
||||
"sigAddedFileToProject(KDevFileNode*)" to inform all other running
|
||||
components that a file was added. The KDevFileNode is a subclass of
|
||||
KDevNode and contains information about Projectspace,Projectname and
|
||||
of course the filenname of this file.
|
||||
|
||||
KDevNodeAction
|
||||
--------------
|
||||
KDevNodeAction is a special KAction which stores a KDevNode and raise
|
||||
it if the action was activated. In KDevelop 2 it is possible to
|
||||
extend the the popup menus in the treeviews or similar things at
|
||||
'runtime' for every object 'indivual'. For this you will need
|
||||
KDevNodeAction (lib/general/kdevactions.h), the following signal and
|
||||
method :
|
||||
|
||||
void KDevComponent::needKDevNodeActions(KDevNode* pNode, QList<KAction>*pList)
|
||||
QList<KAction>*KDevComponent::kdevNodeActions(KDevNode* pNode).
|
||||
|
||||
An example: (asking for actions)
|
||||
|
||||
the Projectview need some actions (the user clicked the right
|
||||
mousebutton) for the file "main.cpp" in the project "foobar",
|
||||
projectspace: "foo".
|
||||
|
||||
The Projectview creates now a KDevFileNode (pNode) with these
|
||||
properties and an empty list (pList). After this it raise the signal
|
||||
|
||||
KDevComponent::needKDevNodeActions(KDevNode* pNode,QList<KAction>* pList)
|
||||
|
||||
The list (pList) will be filled with actions (from running components)
|
||||
for these KDevNode. You can use it with:
|
||||
|
||||
+++
|
||||
for(pAction=pList->first();pAction!=0;pAction= pList->next()){
|
||||
pAction->plug(pPopup,-1);// add all available actions to the popupmenu
|
||||
}
|
||||
+++
|
||||
|
||||
An example: (implementing a new action for an KDevNode) An
|
||||
implemention from a ProjectSpace component which add a "Move to"
|
||||
action could look like this:
|
||||
|
||||
+++
|
||||
QList<KAction>* ProjectSpace::kdevNodeActions(KDevNode* pNode){
|
||||
QList<KAction>* pList = new QList<KAction>;
|
||||
|
||||
KDevNodeAction* pAction=0;
|
||||
if(pNode->inherits("KDevFileNode")){
|
||||
pList->append(new KActionSeparator());
|
||||
pAction = new KDevNodeAction(pNode,"Move to..."); // pNode is stored in the Action
|
||||
connect(pAction,SIGNAL(activated(KDevNode*)),this,
|
||||
SLOT(slotMoveFileTo(KDevNode*)));
|
||||
pList->append(pAction);
|
||||
...
|
||||
return pList;
|
||||
}
|
||||
|
||||
Coding style rules for KDevelop 2
|
||||
---------------------------------
|
||||
- prefix "m_" for class attributes
|
||||
- prefix "p" for pointers but no further type-prefixes
|
||||
- prefix "m_p" for class attributes which are pointers
|
||||
- upper case letters for each single word in a compound word: e.g.
|
||||
KDevViewHandler instead of Kdevviewhandler.
|
||||
- tab space = 4
|
||||
- tabs replaced by spaces
|
||||
- no prefix "get" at the beginning of a get function.
|
||||
|
||||
How to help
|
||||
-----------
|
||||
|
||||
Please take a look at TODO file (kdevelop/TODO). Perhaps there is
|
||||
something you can do. You can also look for bugs and fix them. You can
|
||||
implement new idea's. You can provide translations. You can add
|
||||
comment and documentations. If you create something, made some pics,
|
||||
provide a patch, etc., you can upload it into our anonymous ftp site.
|
||||
(please visit: http://www.kdevelop.org/index.html?filename=upload.html).
|
||||
And please don't fprget to inform us per email.
|
||||
|
||||
Is there any question? Is there something unclear? Do you need
|
||||
additional information? Just ask! There will be someone at the
|
||||
mailinglist to answer your question.
|
||||
|
||||
|
||||
28-02-2001
|
||||
KDevelop Team
|
||||
Omid Givi, omid@kdevelop.org
|
||||
|
||||
|
||||
|
||||
|
207
kdevelop/README.htdig
Normal file
207
kdevelop/README.htdig
Normal file
|
@ -0,0 +1,207 @@
|
|||
What you need to do in order to setup Ht://Dig for using with KDevelop.
|
||||
|
||||
1. If you use Ht://Dig v3.1.x patch the sources with this
|
||||
(http://www.geocities.com/alexismikhailov/htdig_3_1_x.diff.zip)
|
||||
file.
|
||||
2. Copy htdig.conf into {kde_global_dir}/share/apps/kdevelop/tools/.
|
||||
|
||||
If you already use Ht://Dig to index your local documents and don't
|
||||
want to litter database with links to development docs perform actions
|
||||
in part I and go to part II. Otherwise skip part I and go to part II
|
||||
directly.
|
||||
|
||||
-------------- I ---------------
|
||||
3. Copy files from {htdig_dir}/common (for 3.1.x of htdig) or
|
||||
{htdig_dir}/share/htdig (for 3.2.x of htdig) to some location
|
||||
(f.e. {kde_global_dir}/share/apps/kdevelop/htdig/common).
|
||||
4. Modify URL's in .html files for 'common' dir to be file://localhost urls
|
||||
f.e. <img src="file://localhost/opt/www/htdocs/htdig/htdig.png">.
|
||||
5. Modify htdig.conf (sample included in the end of this README).
|
||||
5.1. Set database_dir to some location
|
||||
(f.e. {kde_global_dir}/share/apps/kdevelop/htdig/db).
|
||||
5.2. Set common_dir to point to the location you have copied files into
|
||||
in step 1.
|
||||
--------------- II -------------
|
||||
6. Modify htdig.conf.
|
||||
6.1. Set 'limit_urls_to' to 'file://' (without quotes of course).
|
||||
6.2. Set 'maximum_pages' to '1'.
|
||||
6.3. If you want to index documents that cointain 'noindex' tag
|
||||
(all Qt docs) patch htdig with this
|
||||
(http://www.geocities.com/alexismikhailov/htdig_3_1_x_noindex.diff.zip)
|
||||
for htdig 3.1.x or this
|
||||
(http://www.geocities.com/alexismikhailov/htdig_3_2_x_noindex.diff.zip)
|
||||
patch and set 'ignore_noindex' to 'true'.
|
||||
6.4. Set 'star_image' to 'file://localhost' type.
|
||||
6.5. Set 'local_urls' to 'file://localhost=' for htdig 3.1.x and
|
||||
to 'file://=' for htdig 3.2.x. As soon as my patches for
|
||||
file:// support will be integrated (or someone else will
|
||||
create this thing) you won't need this step (for htdig 3.2.x).
|
||||
|
||||
|
||||
#=======================================================================
|
||||
#
|
||||
# Example config file for ht://Dig.
|
||||
#
|
||||
# This configuration file is used by all the programs that make up ht://Dig.
|
||||
# Please refer to the attribute reference manual for more details on what
|
||||
# can be put into this file. (http://www.htdig.org/confindex.html)
|
||||
# Note that most attributes have very reasonable default values so you
|
||||
# really only have to add attributes here if you want to change the defaults.
|
||||
#
|
||||
# What follows are some of the common attributes you might want to change.
|
||||
#
|
||||
|
||||
#
|
||||
# Specify where the database files need to go. Make sure that there is
|
||||
# plenty of free disk space available for the databases. They can get
|
||||
# pretty big.
|
||||
#
|
||||
database_dir: /usr/local/kde/share/apps/kdevelop/htdig/db
|
||||
|
||||
#
|
||||
# This specifies the URL where the robot (htdig) will start. You can specify
|
||||
# multiple URLs here. Just separate them by some whitespace.
|
||||
# The example here will cause the ht://Dig homepage and related pages to be
|
||||
# indexed.
|
||||
# You could also index all the URLs in a file like so:
|
||||
# start_url: `${common_dir}/start.url`
|
||||
#
|
||||
#start_url: file://localhost/usr/local/kde/share/doc/HTML/en/kdevelop/
|
||||
#http://localhost/
|
||||
#http://www.htdig.org/
|
||||
|
||||
#
|
||||
# This attribute limits the scope of the indexing process. The default is to
|
||||
# set it to the same as the start_url above. This way only pages that are on
|
||||
# the sites specified in the start_url attribute will be indexed and it will
|
||||
# reject any URLs that go outside of those sites.
|
||||
#
|
||||
# Keep in mind that the value for this attribute is just a list of string
|
||||
# patterns. As long as URLs contain at least one of the patterns it will be
|
||||
# seen as part of the scope of the index.
|
||||
#
|
||||
limit_urls_to: file://
|
||||
#${start_url}
|
||||
|
||||
#
|
||||
# If there are particular pages that you definately do NOT want to index, you
|
||||
# can use the exclude_urls attribute. The value is a list of string patterns.
|
||||
# If a URL matches any of the patterns, it will NOT be indexed. This is
|
||||
# useful to exclude things like virtual web trees or database accesses. By
|
||||
# default, all CGI URLs will be excluded. (Note that the /cgi-bin/ convention
|
||||
# may not work on your web server. Check the path prefix used on your web
|
||||
# server.)
|
||||
#
|
||||
exclude_urls: /cgi-bin/ .cgi
|
||||
|
||||
#
|
||||
# The string htdig will send in every request to identify the robot. Change
|
||||
# this to your email address.
|
||||
#
|
||||
maintainer: unconfigured@htdig.searchengine.maintainer
|
||||
|
||||
#
|
||||
# The excerpts that are displayed in long results rely on stored information
|
||||
# in the index databases. The compiled default only stores 512 characters of
|
||||
# text from each document (this excludes any HTML markup...) If you plan on
|
||||
# using the excerpts you probably want to make this larger. The only concern
|
||||
# here is that more disk space is going to be needed to store the additional
|
||||
# information. Since disk space is cheap (! :-)) you might want to set this
|
||||
# to a value so that a large percentage of the documents that you are going
|
||||
# to be indexing are stored completely in the database. At SDSU we found
|
||||
# that by setting this value to about 50k the index would get 97% of all
|
||||
# documents completely and only 3% was cut off at 50k. You probably want to
|
||||
# experiment with this value.
|
||||
# Note that if you want to set this value low, you probably want to set the
|
||||
# excerpt_show_top attribute to false so that the top excerpt_length characters
|
||||
# of the document are always shown.
|
||||
#
|
||||
max_head_length: 10000
|
||||
|
||||
#
|
||||
# To limit network connections, ht://Dig will only pull up to a certain limit
|
||||
# of bytes. This prevents the indexing from dying because the server keeps
|
||||
# sending information. However, several FAQs happen because people have files
|
||||
# bigger than the default limit of 100KB. This sets the default a bit higher.
|
||||
# (see <http://www.htdig.org/FAQ.html> for more)
|
||||
#
|
||||
max_doc_size: 200000
|
||||
|
||||
#
|
||||
# Depending on your needs, you might want to enable some of the fuzzy search
|
||||
# algorithms. There are several to choose from and you can use them in any
|
||||
# combination you feel comfortable with. Each algorithm will get a weight
|
||||
# assigned to it so that in combinations of algorithms, certain algorithms get
|
||||
# preference over others. Note that the weights only affect the ranking of
|
||||
# the results, not the actual searching.
|
||||
# The available algorithms are:
|
||||
# exact
|
||||
# endings
|
||||
# synonyms
|
||||
# soundex
|
||||
# metaphone
|
||||
# By default only the "exact" algorithm is used with weight 1.
|
||||
# Note that if you are going to use any of the algorithms other than "exact",
|
||||
# you need to use the htfuzzy program to generate the databases that each
|
||||
# algorithm requires.
|
||||
#
|
||||
search_algorithm: exact:1 synonyms:0.5 endings:0.1
|
||||
|
||||
common_dir: /usr/local/kde/share/apps/kdevelop/htdig/common
|
||||
maximum_pages: 1
|
||||
ignore_noindex: true
|
||||
|
||||
#
|
||||
# The following are the templates used in the builtin search results
|
||||
# The default is to use compiled versions of these files, which produces
|
||||
# slightly faster results. However, uncommenting these lines makes it
|
||||
# very easy to change the format of search results.
|
||||
# See <http://www.htdig.org/hts_templates.html for more details.
|
||||
#
|
||||
# template_map: Long long ${common_dir}/long.html \
|
||||
# Short short ${common_dir}/short.html
|
||||
# template_name: long
|
||||
|
||||
#
|
||||
# The following are used to change the text for the page index.
|
||||
# The defaults are just boring text numbers. These images spice
|
||||
# up the result pages quite a bit. (Feel free to do whatever, though)
|
||||
#
|
||||
next_page_text: <img src=/opt/www/htdocs/htdig/buttonr.png border=0 align=middle width=30 height=30 alt=next>
|
||||
no_next_page_text:
|
||||
prev_page_text: <img src=/opt/www/htdocs/htdig/buttonl.png border=0 align=middle width=30 height=30 alt=prev>
|
||||
no_prev_page_text:
|
||||
page_number_text: "<img src=/opt/www/htdocs/htdig/button1.gif border=0 align=middle width=30 height=30 alt=1>" \
|
||||
"<img src=/opt/www/htdocs/htdig/button2.png border=0 align=middle width=30 height=30 alt=2>" \
|
||||
"<img src=/htdig/button3.gif border=0 align=middle width=30 height=30 alt=3>" \
|
||||
"<img src=/htdig/button4.gif border=0 align=middle width=30 height=30 alt=4>" \
|
||||
"<img src=/htdig/button5.gif border=0 align=middle width=30 height=30 alt=5>" \
|
||||
"<img src=/htdig/button6.gif border=0 align=middle width=30 height=30 alt=6>" \
|
||||
"<img src=/htdig/button7.gif border=0 align=middle width=30 height=30 alt=7>" \
|
||||
"<img src=/htdig/button8.gif border=0 align=middle width=30 height=30 alt=8>" \
|
||||
"<img src=/htdig/button9.gif border=0 align=middle width=30 height=30 alt=9>" \
|
||||
"<img src=/htdig/button10.gif border=0 align=middle width=30 height=30 alt=10>"
|
||||
#
|
||||
# To make the current page stand out, we will put a border arround the
|
||||
# image for that page.
|
||||
#
|
||||
no_page_number_text: "<img src=/opt/www/htdocs/htdig/button1.png border=2 align=middle width=30 height=30 alt=1>" \
|
||||
"<img src=/htdig/button2.gif border=2 align=middle width=30 height=30 alt=2>" \
|
||||
"<img src=/htdig/button3.gif border=2 align=middle width=30 height=30 alt=3>" \
|
||||
"<img src=/htdig/button4.gif border=2 align=middle width=30 height=30 alt=4>" \
|
||||
"<img src=/htdig/button5.gif border=2 align=middle width=30 height=30 alt=5>" \
|
||||
"<img src=/htdig/button6.gif border=2 align=middle width=30 height=30 alt=6>" \
|
||||
"<img src=/htdig/button7.gif border=2 align=middle width=30 height=30 alt=7>" \
|
||||
"<img src=/htdig/button8.gif border=2 align=middle width=30 height=30 alt=8>" \
|
||||
"<img src=/htdig/button9.gif border=2 align=middle width=30 height=30 alt=9>" \
|
||||
"<img src=/htdig/button10.gif border=2 align=middle width=30 height=30 alt=10>"
|
||||
|
||||
star_image: file://localhost/opt/www/htdocs/htdig/star.png
|
||||
star_blank: file://localhost/opt/www/htdocs/htdig/star_blank.png
|
||||
|
||||
# local variables:
|
||||
local_urls: file://localhost=
|
||||
#local_urls: file://=
|
||||
# mode: text
|
||||
# eval: (if (eq window-system 'x) (progn (setq font-lock-keywords (list '("^#.*" . font-lock-keyword-face) '("^[a-zA-Z][^ :]+" . font-lock-function-name-face) '("[+$]*:" . font-lock-comment-face) )) (font-lock-mode)))
|
||||
# end:
|
76
kdevelop/app/CMakeLists.txt
Normal file
76
kdevelop/app/CMakeLists.txt
Normal file
|
@ -0,0 +1,76 @@
|
|||
add_subdirectory(plasma)
|
||||
|
||||
########### next target ###############
|
||||
|
||||
find_package(SharedMimeInfo REQUIRED)
|
||||
macro_optional_find_package(KDeclarative)
|
||||
|
||||
set(kdevelop_SRCS main.cpp kdevideextension.cpp splash.cpp)
|
||||
if(KDECLARATIVE_FOUND)
|
||||
set(kdevelop_SRCS ${kdevelop_SRCS}
|
||||
welcomepage/sessionsmodel.cpp welcomepage/welcomepageview.cpp welcomepage/uihelper.cpp)
|
||||
add_definitions(-DWITH_WELCOMEPAGE)
|
||||
qt4_add_resources(kdevelop_SRCS welcomepage/welcomepage.qrc)
|
||||
endif(KDECLARATIVE_FOUND)
|
||||
if(APPLE)
|
||||
kde4_add_app_icon(kdevelop_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/kdevelop.png")
|
||||
else()
|
||||
kde4_add_app_icon(kdevelop_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../pics/hi*-app-kdevelop.png")
|
||||
endif(APPLE)
|
||||
|
||||
kde4_add_executable(kdevelop ${kdevelop_SRCS} )
|
||||
|
||||
target_link_libraries(kdevelop
|
||||
${KDE4_KDECORE_LIBS}
|
||||
${KDEVPLATFORM_INTERFACES_LIBRARIES}
|
||||
${KDEVPLATFORM_SHELL_LIBRARIES}
|
||||
${KDE4_KIO_LIBS}
|
||||
${KDE4_KCMUTILS_LIBS}
|
||||
${KDE4_KPARTS_LIBS}
|
||||
${KDE4_KNOTIFYCONFIG_LIBS}
|
||||
${KDE4_KTEXTEDITOR_LIBS}
|
||||
${KDE4_THREADWEAVER_LIBRARIES}
|
||||
|
||||
${QT_QTDECLARATIVE_LIBRARIES}
|
||||
)
|
||||
if(KDECLARATIVE_FOUND)
|
||||
target_link_libraries(kdevelop ${KDECLARATIVE_LIBRARY})
|
||||
endif(KDECLARATIVE_FOUND)
|
||||
|
||||
install(TARGETS kdevelop ${INSTALL_TARGETS_DEFAULT_ARGS} )
|
||||
|
||||
install(FILES kdevelop! DESTINATION bin PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
|
||||
|
||||
if(APPLE)
|
||||
kde4_add_app_icon(kdevelop_bin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/kdevelop.png")
|
||||
else()
|
||||
kde4_add_app_icon(kdevelop_bin_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../pics/hi*-app-kdevelop.png")
|
||||
endif(APPLE)
|
||||
|
||||
if (APPLE)
|
||||
# the MacOSX bundle display name property (CFBundleDisplayName) is not currently supported by cmake,
|
||||
# so has to be set for all targets in this cmake file
|
||||
set(MACOSX_BUNDLE_DISPLAY_NAME KDevelop)
|
||||
# We provide our own Info.plist to disable AppNap for KDevelop:
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in)
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.KDevelop")
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "KDevelop")
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_DISPLAY_NAME "KDevelop")
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_INFO_STRING "The KDevelop Integrated Development Environment")
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_LONG_VERSION_STRING "KDevelop ${KDEVELOP_VERSION_MAJOR}.${KDEVELOP_VERSION_MINOR}")
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STRING "${KDEVELOP_VERSION_MAJOR}.${KDEVELOP_VERSION_MINOR}")
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION "${KDEVELOP_VERSION_MAJOR}.${KDEVELOP_VERSION_MINOR}")
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_ICON_FILE "kdevelop_SRCS.icns")
|
||||
set_target_properties(kdevelop PROPERTIES MACOSX_BUNDLE_COPYRIGHT "KDevelop Team")
|
||||
endif (APPLE)
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install( PROGRAMS kdevelop.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
|
||||
install( PROGRAMS kdevelop_ps.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
|
||||
install( FILES kdeveloprc DESTINATION ${CONFIG_INSTALL_DIR} )
|
||||
install( FILES kdevelopui.rc katepartui.rc kdevelop.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kdevelop )
|
||||
install( FILES kdevelop.xml DESTINATION ${XDG_MIME_INSTALL_DIR} )
|
||||
install( FILES splash.qml DESTINATION ${DATA_INSTALL_DIR}/kdevelop )
|
||||
update_xdg_mimetypes( ${XDG_MIME_INSTALL_DIR} )
|
40
kdevelop/app/Info.plist.in
Normal file
40
kdevelop/app/Info.plist.in
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleLongVersionString</key>
|
||||
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${MACOSX_BUNDLE_DISPLAY_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>LSRequiresCarbon</key>
|
||||
<true/>
|
||||
<key>NSAppSleepDisabled</key>
|
||||
<true/>
|
||||
<key>NSSupportsAutomaticTermination</key>
|
||||
<false/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||
</dict>
|
||||
</plist>
|
5
kdevelop/app/Messages.sh
Normal file
5
kdevelop/app/Messages.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
$EXTRACTRC `find . -name \*.rc` `find . -name \*.ui` >>rc.cpp
|
||||
$XGETTEXT `find . -name \*.cpp -o -name \*.h` -o $podir/kdevelop.pot
|
||||
$XGETTEXT -L java `find . -name \*.qml` -j -o $podir/kdevelop.pot
|
||||
rm -f rc.cpp
|
140
kdevelop/app/katepartui.rc
Normal file
140
kdevelop/app/katepartui.rc
Normal file
|
@ -0,0 +1,140 @@
|
|||
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
|
||||
<kpartgui name="KatePartView" version="61">
|
||||
<MenuBar>
|
||||
<Menu name="file" noMerge="1"><text>&File</text>
|
||||
<Action name="file_save" group="save_merge" />
|
||||
<Action name="file_save_as" group="save_merge" />
|
||||
<Action name="file_save_all" group="save_merge" />
|
||||
<Action name="file_reload" group="revert_merge" />
|
||||
<Action name="file_print" group="print_merge" />
|
||||
<Separator group="print_merge" />
|
||||
</Menu>
|
||||
|
||||
<Menu name="edit" noMerge="1"><text>&Edit</text>
|
||||
<Action name="edit_undo" group="edit_undo_merge" />
|
||||
<Action name="edit_redo" group="edit_undo_merge" />
|
||||
<Separator group="edit_undo_merge" />
|
||||
<Action name="edit_cut" group="edit_paste_merge" />
|
||||
<Action name="edit_copy" group="edit_paste_merge" />
|
||||
<Action name="edit_paste" group="edit_paste_merge" />
|
||||
<Separator group="edit_paste_merge" />
|
||||
<Action name="edit_find" group="edit_find_merge" />
|
||||
<Separator group="edit_find_merge" />
|
||||
<Menu name="edit_advanced" noMerge="1"><text>&Advanced</text>
|
||||
<Action name="edit_select_all" group="edit_select_merge" />
|
||||
<Action name="edit_deselect" group="edit_select_merge" />
|
||||
<Action name="set_verticalSelect" group="edit_select_merge" />
|
||||
<Separator group="edit_select_merge" />
|
||||
<Action name="view_vi_input_mode" group="edit_select_merge" />
|
||||
<Action name="set_insert" group="edit_select_merge" />
|
||||
<Separator group="edit_select_merge" />
|
||||
<Action name="edit_find_next" group="edit_find_merge" />
|
||||
<Action name="edit_find_prev" group="edit_find_merge" />
|
||||
<Action name="edit_replace" group="edit_find_merge" />
|
||||
<Action name="edit_find_selected" group="edit_find_merge" />
|
||||
<Action name="edit_find_selected_backwards" group="edit_find_merge" />
|
||||
<Separator group="edit_find_merge" />
|
||||
<Action name="go_goto_line" group="edit_find_merge"/>
|
||||
</Menu>
|
||||
</Menu>
|
||||
|
||||
<Menu name="editor">
|
||||
|
||||
<Menu name="view" noMerge="1"><text>&View</text>
|
||||
<Action name="switch_to_cmd_line" group="view_operations" />
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_schemas" group="view_operations" />
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_dynamic_word_wrap" group="view_operations" />
|
||||
<Action name="dynamic_word_wrap_indicators" group="view_operations" />
|
||||
<Action name="view_word_wrap_marker" group="view_operations" />
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_border" group="view_operations" />
|
||||
<Action name="view_line_numbers" group="view_operations" />
|
||||
<Action name="view_scrollbar_marks" group="view_operations" />
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_folding_markers" group="view_operations" />
|
||||
<Menu name="codefolding" group="view_operations"><text>&Code Folding</text>
|
||||
<Action name="folding_toplevel" group="view_operations" />
|
||||
<Action name="folding_expandtoplevel" group="view_operations" />
|
||||
<Action name="folding_collapselocal" group="view_operations" />
|
||||
<Action name="folding_expandlocal" group="view_operations" />
|
||||
</Menu>
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_inc_font_sizes" group="view_operations" />
|
||||
<Action name="view_dec_font_sizes" group="view_operations" />
|
||||
</Menu>
|
||||
|
||||
<Action name="bookmarks" />
|
||||
|
||||
<Menu name="tools" noMerge="1"><text>&Tools</text>
|
||||
<Action name="tools_toggle_write_lock" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_mode" group="tools_operations" />
|
||||
<Action name="tools_highlighting" group="tools_operations" />
|
||||
<Action name="tools_indentation" group="tools_operations" />
|
||||
<Action name="set_encoding" group="tools_operations" />
|
||||
<Action name="set_eol" group="tools_operations" />
|
||||
<Action name="add_bom" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_scripts" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_invoke_code_completion" group="tools_operations" />
|
||||
<Menu name="wordcompletion" group="tools_operations"><text>Word Completion</text>
|
||||
<Action name="doccomplete_fw" />
|
||||
<Action name="doccomplete_bw" />
|
||||
<Action name="doccomplete_sh" />
|
||||
</Menu>
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_toggle_automatic_spell_checking" group="tools_operations" />
|
||||
<Action name="tools_spelling" group="tools_operations" />
|
||||
<Action name="tools_spelling_from_cursor" group="tools_operations" />
|
||||
<Action name="tools_spelling_selection" group="tools_operations" />
|
||||
<Action name="tools_change_dictionary" group="tools_operations" />
|
||||
<Action name="tools_clear_dictionary_ranges" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_indent" group="tools_operations" />
|
||||
<Action name="tools_unindent" group="tools_operations" />
|
||||
<Action name="tools_cleanIndent" group="tools_operations" />
|
||||
<Action name="tools_align" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_comment" group="tools_operations" />
|
||||
<Action name="tools_uncomment" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_uppercase" group="tools_operations" />
|
||||
<Action name="tools_lowercase" group="tools_operations" />
|
||||
<Action name="tools_capitalize" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_join_lines" group="tools_operations" />
|
||||
<Action name="tools_apply_wordwrap" group="tools_operations" />
|
||||
</Menu>
|
||||
</Menu>
|
||||
</MenuBar>
|
||||
|
||||
<Menu name="ktexteditor_popup" noMerge="0">
|
||||
<Action name="edit_cut" group="popup_operations" />
|
||||
<Action name="edit_copy" group="popup_operations" />
|
||||
<Action name="edit_paste" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
<Action name="edit_select_all" group="popup_operations" />
|
||||
<Action name="edit_deselect" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
<Action name="spelling_suggestions" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
<Action name="bookmarks" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
<Action name="tools_create_snippet" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
</Menu>
|
||||
|
||||
<ToolBar name="mainToolBar" noMerge="1"><text>Main Toolbar</text>
|
||||
<Action name="file_save" group="file_operations" />
|
||||
</ToolBar>
|
||||
|
||||
<ActionProperties scheme="Default">
|
||||
<Action shortcut="" name="view_folding_markers"/>
|
||||
<Action shortcut="" name="view_dynamic_word_wrap"/>
|
||||
<Action shortcut="" name="view_line_numbers"/>
|
||||
</ActionProperties>
|
||||
|
||||
</kpartgui>
|
53
kdevelop/app/kdevelop!
Executable file
53
kdevelop/app/kdevelop!
Executable file
|
@ -0,0 +1,53 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This file is part of KDevelop
|
||||
# Copyright 2011 David Nolden <david.nolden.kdevelop@art-master.de>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public License
|
||||
# along with this library; see the file COPYING.LIB. If not, write to
|
||||
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
|
||||
export KDEV_BASEDIR=$(dirname $0)
|
||||
export APPLICATION=KDevelop
|
||||
|
||||
if ! [ "$KDEV_ATTACHED_PID" ]; then
|
||||
ARGS=""
|
||||
if [ $# -eq 0 ]; then
|
||||
ARGS="-pss"
|
||||
else
|
||||
ARGS="$@"
|
||||
fi
|
||||
export KDEV_ATTACHED_PID=$($KDEV_BASEDIR/kdevelop $ARGS --pid)
|
||||
fi
|
||||
|
||||
if ! [ "$KDEV_ATTACHED_PID" ]; then
|
||||
echo "Error: Failed retrieving a pid."
|
||||
exit 5
|
||||
fi
|
||||
|
||||
# Make sure we didn't capture garbage instead of the pid (must be 1 word only)
|
||||
# note: keep compatible on FreeBSD: https://bugs.kde.org/show_bug.cgi?id=311186
|
||||
if [ "$(echo $KDEV_ATTACHED_PID | wc -w | sed 's/ //g')" != 1 ]; then
|
||||
echo "Error: Got no valid pid."
|
||||
exit 6
|
||||
fi
|
||||
|
||||
if ! [ "$(which qdbus)" ]; then
|
||||
echo "Error: The qdbus utility is missing."
|
||||
exit 7
|
||||
fi
|
||||
|
||||
export KDEV_DBUS_ID="org.kdevelop.kdevelop-$KDEV_ATTACHED_PID"
|
||||
|
||||
bash --init-file $KDEV_BASEDIR/kdevplatform_shell_environment.sh -i
|
90
kdevelop/app/kdevelop.desktop
Normal file
90
kdevelop/app/kdevelop.desktop
Normal file
|
@ -0,0 +1,90 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Exec=kdevelop %u
|
||||
MimeType=application/x-kdevelop;
|
||||
Icon=kdevelop
|
||||
X-DocPath=kdevelop/index.html
|
||||
Terminal=false
|
||||
Name=KDevelop 4
|
||||
Name[bs]=KDevelop 4
|
||||
Name[ca]=KDevelop 4
|
||||
Name[ca@valencia]=KDevelop 4
|
||||
Name[cs]=KDevelop 4
|
||||
Name[da]=KDevelop 4
|
||||
Name[de]=KDevelop 4
|
||||
Name[el]=KDevelop 4
|
||||
Name[en_GB]=KDevelop 4
|
||||
Name[eo]=KDevelop 4
|
||||
Name[es]=KDevelop 4
|
||||
Name[et]=KDevelop 4
|
||||
Name[fi]=KDevelop 4
|
||||
Name[fr]=KDevelop 4
|
||||
Name[ga]=KDevelop 4
|
||||
Name[gl]=KDevelop 4
|
||||
Name[hi]=के-डेवलप ४
|
||||
Name[hne]=के-डेवलप ४
|
||||
Name[hu]=KDevelop 4
|
||||
Name[it]=KDevelop 4
|
||||
Name[ja]=KDevelop 4
|
||||
Name[kk]=KDevelop 4
|
||||
Name[km]=KDevelop 4ល
|
||||
Name[ko]=KDevelop 4
|
||||
Name[lt]=KDevelop 4
|
||||
Name[lv]=KDevelop 4
|
||||
Name[nb]=KDevelop 4
|
||||
Name[nds]=KDevelop 4
|
||||
Name[ne]=केडीई विकास ४
|
||||
Name[nl]=KDevelop 4
|
||||
Name[pl]=KDevelop 4
|
||||
Name[pt]=KDevelop 4
|
||||
Name[pt_BR]=KDevelop 4
|
||||
Name[ru]=KDevelop 4
|
||||
Name[sk]=KDevelop 4
|
||||
Name[sl]=KDevelop 4
|
||||
Name[sv]=KDevelop 4
|
||||
Name[tr]=KDevelop 4
|
||||
Name[ug]=KDevelop 4
|
||||
Name[uk]=KDevelop 4
|
||||
Name[x-test]=xxKDevelop 4xx
|
||||
Name[zh_CN]=KDevelop 4
|
||||
Name[zh_TW]=KDevelop 4
|
||||
GenericName=Integrated Development Environment
|
||||
GenericName[bs]=Integrisano razvojno okruženje
|
||||
GenericName[ca]=Entorn integrat de desenvolupament
|
||||
GenericName[ca@valencia]=Entorn integrat de desenvolupament
|
||||
GenericName[cs]=Integrované Vývojové Prostředí
|
||||
GenericName[da]=Integreret udviklingsmiljø (IDE)
|
||||
GenericName[de]=Integrierte Entwicklungsumgebung
|
||||
GenericName[el]=ολοκληρωμένο περιβάλλον ανάπτυξης
|
||||
GenericName[en_GB]=Integrated Development Environment
|
||||
GenericName[es]=Entorno de desarrollo integrado
|
||||
GenericName[et]=Integreeritud arenduskeskkond
|
||||
GenericName[fi]=Integroitu kehitysympäristö
|
||||
GenericName[fr]=Environnement de Développement Intégré
|
||||
GenericName[ga]=Timpeallacht Chomhtháite Fhorbartha
|
||||
GenericName[gl]=Entorno de desenvolvemento integrado
|
||||
GenericName[hne]=एकीकृत डेवलपमेंट वातावरन
|
||||
GenericName[hu]=Integrált fejlesztői környezet
|
||||
GenericName[it]=Ambiente di sviluppo integrato
|
||||
GenericName[ja]=統合開発環境
|
||||
GenericName[kk]=Біріктірілген құрастыру ортасы
|
||||
GenericName[km]=Development Environment ដែលបានរួមបញ្ចូល
|
||||
GenericName[lt]=Integruota programavimo aplinka
|
||||
GenericName[lv]=Integrēta izstrādes vide
|
||||
GenericName[nb]=Integrert utviklingsmiljø
|
||||
GenericName[nds]=Programmsmeed
|
||||
GenericName[nl]=Geïntegreerde ontwikkelomgeving
|
||||
GenericName[pl]=Zintegrowane środowisko programistyczne
|
||||
GenericName[pt]=Ambiente de Desenvolvimento Integrado
|
||||
GenericName[pt_BR]=Ambiente Integrado de Desenvolvimento
|
||||
GenericName[ru]=Интегрированная среда разработки
|
||||
GenericName[sk]=Integrované vývojové prostredie
|
||||
GenericName[sl]=Integrirano razvojno okolje
|
||||
GenericName[sv]=Integrerad utvecklingsmiljö
|
||||
GenericName[tr]=Bütünleşik Geliştirme Ortamı
|
||||
GenericName[ug]=يۈرۈشلەشتۈرۈلگەن ئىجادىيەت مۇھىتى
|
||||
GenericName[uk]=Комплексне середовище розробки
|
||||
GenericName[x-test]=xxIntegrated Development Environmentxx
|
||||
GenericName[zh_CN]=集成开发环境
|
||||
GenericName[zh_TW]=整合開發環境
|
||||
Categories=Qt;KDE;Development;IDE;
|
577
kdevelop/app/kdevelop.notifyrc
Normal file
577
kdevelop/app/kdevelop.notifyrc
Normal file
|
@ -0,0 +1,577 @@
|
|||
[Global]
|
||||
IconName=kdevelop
|
||||
Comment=KDevelop
|
||||
Comment[br]=KDevelop
|
||||
Comment[bs]=KDevelop
|
||||
Comment[ca]=KDevelop
|
||||
Comment[ca@valencia]=KDevelop
|
||||
Comment[cs]=KDevelop
|
||||
Comment[da]=KDevelop
|
||||
Comment[de]=KDevelop
|
||||
Comment[el]=KDevelop
|
||||
Comment[en_GB]=KDevelop
|
||||
Comment[eo]=KDevelop
|
||||
Comment[es]=KDevelop
|
||||
Comment[et]=KDevelop
|
||||
Comment[eu]=KDevelop
|
||||
Comment[fi]=KDevelop
|
||||
Comment[fr]=KDevelop
|
||||
Comment[ga]=KDevelop
|
||||
Comment[gl]=KDevelop
|
||||
Comment[hi]=के-डेवलप
|
||||
Comment[hne]=के-डेवलप
|
||||
Comment[hu]=KDevelop
|
||||
Comment[it]=KDevelop
|
||||
Comment[ja]=KDevelop
|
||||
Comment[kk]=KDevelop
|
||||
Comment[km]=KDevelop
|
||||
Comment[ko]=KDevelop
|
||||
Comment[lt]=KDevelop
|
||||
Comment[lv]=KDevelop
|
||||
Comment[ms]=KDevelop
|
||||
Comment[nb]=KDevelop
|
||||
Comment[nds]=KDevelop
|
||||
Comment[nl]=KDevelop
|
||||
Comment[pl]=KDevelop
|
||||
Comment[pt]=KDevelop
|
||||
Comment[pt_BR]=KDevelop
|
||||
Comment[ro]=KDevelop
|
||||
Comment[ru]=KDevelop
|
||||
Comment[sk]=KDevelop
|
||||
Comment[sl]=KDevelop
|
||||
Comment[sv]=KDevelop
|
||||
Comment[ta]=KDevelop
|
||||
Comment[tg]=KDevelop
|
||||
Comment[tr]=KDevelop
|
||||
Comment[ug]=KDevelop
|
||||
Comment[uk]=KDevelop
|
||||
Comment[x-test]=xxKDevelopxx
|
||||
Comment[zh_CN]=KDevelop
|
||||
Comment[zh_TW]=KDevelop
|
||||
|
||||
[Event/ProcessSuccess]
|
||||
Name=Process successful
|
||||
Name[bs]=Proces uspješan
|
||||
Name[ca]=Procés correcte
|
||||
Name[ca@valencia]=Procés correcte
|
||||
Name[cs]=Proces úspěšný
|
||||
Name[da]=Processen lykkedes
|
||||
Name[de]=Prozess erfolgreich
|
||||
Name[el]=Επιτυχής διεργασία
|
||||
Name[en_GB]=Process successful
|
||||
Name[es]=Proceso exitoso
|
||||
Name[et]=Protsess oli edukas
|
||||
Name[eu]=Prozesu zuzena
|
||||
Name[fi]=Prosessi onnistui
|
||||
Name[fr]=Le processus s'est terminé avec succès
|
||||
Name[ga]=D'éirigh leis an bpróiseas
|
||||
Name[gl]=Proceso rematado con éxito
|
||||
Name[hi]=प्रक्रिया सफल
|
||||
Name[hne]=काम सफल
|
||||
Name[hu]=Sikeres folyamat
|
||||
Name[it]=Processo riuscito
|
||||
Name[ja]=プロセス成功
|
||||
Name[kk]=Сәтті өтті
|
||||
Name[km]=ដំណើរការដោយជោគជ័យ
|
||||
Name[ko]=작업 성공
|
||||
Name[lt]=Procesas pavyko
|
||||
Name[lv]=Process veiksmīgs
|
||||
Name[mr]=प्रक्रीया यशस्वी
|
||||
Name[ms]=Proses berjaya
|
||||
Name[nb]=Prosessen lyktes
|
||||
Name[nds]=Perzess hett Spood
|
||||
Name[nl]=Proces was succesvol
|
||||
Name[pl]=Proces zakończony pomyślnie
|
||||
Name[pt]=Processo com sucesso
|
||||
Name[pt_BR]=Processo concluído com sucesso
|
||||
Name[ru]=Процесс завершён успешно
|
||||
Name[sk]=Úspešný proces
|
||||
Name[sl]=Opravilo uspešno
|
||||
Name[sv]=Processen lyckades
|
||||
Name[ta]=செயல்முறை வெற்றி
|
||||
Name[tg]=Амал бо мувафақият ба анҷом расид
|
||||
Name[tr]=İşlem başarılı
|
||||
Name[ug]=بىر تەرەپ قىلىش مۇۋەپپەقىيەتلىك بولدى
|
||||
Name[uk]=Успішне виконання
|
||||
Name[x-test]=xxProcess successfulxx
|
||||
Name[zh_CN]=处理成功
|
||||
Name[zh_TW]=行程成功
|
||||
Comment=Process finished successfully
|
||||
Comment[bs]=Proces je uspješno završio
|
||||
Comment[ca]=El procés ha finalitzat amb èxit
|
||||
Comment[ca@valencia]=El procés ha finalitzat amb èxit
|
||||
Comment[cs]=Proces úspěšně dokončen
|
||||
Comment[da]=Processen afsluttede med succes
|
||||
Comment[de]=Prozess erfolgreich beendet
|
||||
Comment[el]=Η διεργασία τερμάτισε με επιτυχία
|
||||
Comment[en_GB]=Process finished successfully
|
||||
Comment[es]=Proceso terminado con éxito
|
||||
Comment[et]=Protsess edukalt lõpetatud
|
||||
Comment[eu]=Prozesua ongi amaitu da
|
||||
Comment[fi]=Prosessi päättyi onnistuneesti
|
||||
Comment[fr]=Le processus s'est terminé avec succès
|
||||
Comment[ga]=D'éirigh leis an bpróiseas
|
||||
Comment[gl]=O proceso rematou con éxito
|
||||
Comment[hi]=प्रक्रिया सफलतापूर्वक पूर्ण
|
||||
Comment[hne]=काम सफलतापूर्वक पूरा
|
||||
Comment[hu]=A folyamat sikeresen befejeződött
|
||||
Comment[it]=Processo completato con successo
|
||||
Comment[ja]=プロセスは成功しました。
|
||||
Comment[kk]=Процес сәті өтті
|
||||
Comment[km]=ដំណើរការបានបញ្ចប់ដោយជោគជ័យ
|
||||
Comment[ko]=작업이 성공적으로 끝났음
|
||||
Comment[lv]=Process beidzies veiksmīgi
|
||||
Comment[ms]=Proses selesai dengan jaya
|
||||
Comment[nb]=Prosessen vellykket fullført
|
||||
Comment[nds]=Perzess mit Spood afslaten
|
||||
Comment[nl]=Proces met succes beëindigd
|
||||
Comment[pl]=Proces zakończony pomyślnie
|
||||
Comment[pt]=O processo terminou com sucesso
|
||||
Comment[pt_BR]=Processo concluído com sucesso
|
||||
Comment[ro]=Proces încheiat cu succes
|
||||
Comment[ru]=Процесс завершён успешно
|
||||
Comment[sk]=Proces skončil úspešne
|
||||
Comment[sl]=Opravilo se je uspešno končalo
|
||||
Comment[sv]=Processen avslutades med lyckat resultat
|
||||
Comment[ta]=வெற்றிகரமாக முடிவடைந்த செயலாக்கம்
|
||||
Comment[tg]=Амал бо мувафақият ба анҷом расид
|
||||
Comment[tr]=İşlem başarıyla bitti
|
||||
Comment[ug]=بىر تەرەپ قىلىش مۇۋەپپەقىيەتلىك تاماملاندى
|
||||
Comment[uk]=Виконання успішно завершено
|
||||
Comment[x-test]=xxProcess finished successfullyxx
|
||||
Comment[zh_CN]=处理成功完成
|
||||
Comment[zh_TW]=行程成功完成
|
||||
Action=None
|
||||
|
||||
[Event/ProcessError]
|
||||
Name=Process error
|
||||
Name[bs]=Greška u procesu
|
||||
Name[ca]=Error de procés
|
||||
Name[ca@valencia]=Error de procés
|
||||
Name[cs]=Chyba procesu
|
||||
Name[da]=Procesfejl
|
||||
Name[de]=Prozess-Fehler
|
||||
Name[el]=Σφάλμα διεργασίας
|
||||
Name[en_GB]=Process error
|
||||
Name[es]=Error de proceso
|
||||
Name[et]=Protsessi viga
|
||||
Name[eu]=Prozesu errorea
|
||||
Name[fi]=Prosessivirhe
|
||||
Name[fr]=Erreur du processus
|
||||
Name[ga]=Earráid sa phróiseas
|
||||
Name[gl]=Erro do proceso
|
||||
Name[hi]=प्रक्रिया त्रुटि
|
||||
Name[hne]=काम गलती
|
||||
Name[hu]=Hibás folyamat
|
||||
Name[it]=Errore del processo
|
||||
Name[ja]=プロセスエラー
|
||||
Name[kk]=Процес қате
|
||||
Name[km]=ដំណើរការមានកំហុស
|
||||
Name[ko]=작업 오류
|
||||
Name[lt]=Proceso klaida
|
||||
Name[lv]=Prcesā kļūda
|
||||
Name[mr]=प्रक्रीया त्रुटी
|
||||
Name[ms]=Ralat proses
|
||||
Name[nb]=Prosessen mislyktes
|
||||
Name[nds]=Perzessfehler
|
||||
Name[nl]=Procesfout
|
||||
Name[pl]=Błąd w procesie
|
||||
Name[pt]=Erro no processo
|
||||
Name[pt_BR]=Erro no processo
|
||||
Name[ro]=Eroare a procesului
|
||||
Name[ru]=Ошибка при выполнении процесса
|
||||
Name[sk]=Chyba procesu
|
||||
Name[sl]=Napaka opravila
|
||||
Name[sv]=Processfel
|
||||
Name[ta]=செயல்முறை பிழை
|
||||
Name[tg]=Ҳангоми иҷро намудани амал хатогие дида мешавад
|
||||
Name[tr]=İşlem hatası
|
||||
Name[ug]=بىر تەرەپ قىلىشتا خاتالىق كۆرۈلدى
|
||||
Name[uk]=Помилка процесу
|
||||
Name[x-test]=xxProcess errorxx
|
||||
Name[zh_CN]=处理出错
|
||||
Name[zh_TW]=行程錯誤
|
||||
Comment=Process finished with errors
|
||||
Comment[bs]=Proces je zavrsio sa greškama
|
||||
Comment[ca]=El procés ha finalitzat amb errors
|
||||
Comment[ca@valencia]=El procés ha finalitzat amb errors
|
||||
Comment[cs]=Proces dokončen s chybami
|
||||
Comment[da]=Processen afsluttede med fejl
|
||||
Comment[de]=Prozess mit Fehlern beendet
|
||||
Comment[el]=Η διεργασία τερμάτισε με σφάλματα
|
||||
Comment[en_GB]=Process finished with errors
|
||||
Comment[es]=Proceso terminado con errores
|
||||
Comment[et]=Protsess lõppes vigadega
|
||||
Comment[eu]=Prozesua erroreekin amaitu da
|
||||
Comment[fi]=Prosessi päättyi virheisiin
|
||||
Comment[fr]=Le processus s'est terminé avec des erreurs
|
||||
Comment[ga]=Chríochnaigh an próiseas le hearráidí
|
||||
Comment[gl]=O proceso rematou con éxito
|
||||
Comment[hi]=प्रक्रिया त्रुटि के साथ पूर्ण
|
||||
Comment[hne]=काम गलती के साथ पूरा
|
||||
Comment[hu]=A folyamat hibajelzéssel fejeződött be
|
||||
Comment[it]=Processo completato con errori
|
||||
Comment[ja]=プロセスはエラーを起こし、終了しました。
|
||||
Comment[kk]=Процес қателермен аяқталды
|
||||
Comment[km]=ដំណើរការបានបញ្ចប់ដោយមានកំហុស
|
||||
Comment[ko]=오류와 함께 작업이 끝났음
|
||||
Comment[lt]=Procesas baigtas su klaidomis
|
||||
Comment[lv]=Process beidzies ar kļūdām
|
||||
Comment[mr]=प्रक्रीया त्रुटी येऊन संपली
|
||||
Comment[ms]=Proses selesai dengan ralat
|
||||
Comment[nb]=Prosessen ble fullført, men ga feil
|
||||
Comment[nds]=Perzess mit Fehlers afslaten
|
||||
Comment[nl]=Proces voltooid met fouten
|
||||
Comment[pl]=Proces zakończony z błędami
|
||||
Comment[pt]=O processo terminou com erros
|
||||
Comment[pt_BR]=Processo concluído com erros
|
||||
Comment[ro]=Proces încheiat cu erori
|
||||
Comment[ru]=Процесс завершён с ошибками
|
||||
Comment[sk]=Proces skončil s chybami
|
||||
Comment[sl]=Opravilo se je končalo z napakami
|
||||
Comment[sv]=Processen avslutades med fel
|
||||
Comment[ta]=பிழையுடன் முடிவடைந்த செயலாக்கம்
|
||||
Comment[tg]=Ҳангоми иҷро намудани амал хатогие дида мешавад
|
||||
Comment[tr]=İşlem hatalarla bitti
|
||||
Comment[ug]=بىر تەرەپ قىلىشتا خاتالىق كۆرۈلدى
|
||||
Comment[uk]=Виконання завершилося з помилками
|
||||
Comment[x-test]=xxProcess finished with errorsxx
|
||||
Comment[zh_CN]=处理完成,但有错误
|
||||
Comment[zh_TW]=行程發生錯誤
|
||||
Action=None
|
||||
|
||||
[Event/LoadingProject]
|
||||
Name=Loading Project
|
||||
Name[bs]=Učitavam projekat
|
||||
Name[ca]=S'està carregant el projecte
|
||||
Name[ca@valencia]=S'està carregant el projecte
|
||||
Name[cs]=Načítám projekt
|
||||
Name[da]=Indlæser projekt
|
||||
Name[de]=Projekt wird geladen
|
||||
Name[el]=Φόρτωση έργου
|
||||
Name[en_GB]=Loading Project
|
||||
Name[es]=Cargando proyecto
|
||||
Name[et]=Projekti laadimine
|
||||
Name[fi]=Ladataan projekti
|
||||
Name[fr]=Chargement du projet
|
||||
Name[ga]=Tionscadal á Luchtú
|
||||
Name[gl]=Cargando o proxecto
|
||||
Name[hu]=Projekt betöltése
|
||||
Name[it]=Caricamento del progetto
|
||||
Name[ja]=プロジェクトの読み込み
|
||||
Name[kk]=Жобаны жүктеу
|
||||
Name[km]=ផ្ទុកគម្រោង
|
||||
Name[nb]=Laster inn prosjekt
|
||||
Name[nds]=Projekt warrt laadt
|
||||
Name[nl]=Project wordt geladen
|
||||
Name[pl]=Wczytywanie projektu
|
||||
Name[pt]=A Carregar o Projecto
|
||||
Name[pt_BR]=Carregando Projeto
|
||||
Name[ru]=Загрузка проекта
|
||||
Name[sk]=Načítavanie projektu
|
||||
Name[sl]=Nalaganje projekta
|
||||
Name[sv]=Laddar projekt
|
||||
Name[tr]=Proje Yükleniyor
|
||||
Name[ug]=قۇرۇلۇش ئوقۇش
|
||||
Name[uk]=Завантаження проекту
|
||||
Name[x-test]=xxLoading Projectxx
|
||||
Name[zh_CN]=正在装入工程
|
||||
Name[zh_TW]=載入專案中
|
||||
Comment=A project loading process has just started
|
||||
Comment[bs]=Proces učitavanja projekta je upravo počeo
|
||||
Comment[ca]=Tot just s'acaba de començar a carregar el projecte
|
||||
Comment[ca@valencia]=Tot just s'acaba de començar a carregar el projecte
|
||||
Comment[cs]=Proces načítání projektu právě započal
|
||||
Comment[da]=Indlæsning af projekt er lige startet
|
||||
Comment[de]=Es ist ein Projekt-Ladeprozess gestartet
|
||||
Comment[el]=Μια διαδικασία φόρτωσης έργου έχει μόλις ξεκινήσει
|
||||
Comment[en_GB]=A project loading process has just started
|
||||
Comment[es]=Acaba de comenzar un proceso de carga de proyecto
|
||||
Comment[et]=Projekti laadimine just käivitati
|
||||
Comment[fi]=Projektin lataamisprosessi on juuri alkanut
|
||||
Comment[fr]=Un processus de chargement de projet vient de démarrer
|
||||
Comment[gl]=Acaba de comezar un proceso de carga dun proxecto
|
||||
Comment[hu]=A projekt betöltési folyamata elkezdődött
|
||||
Comment[it]=È appena iniziato il caricamento di un progetto
|
||||
Comment[ja]=プロジェクトの読み込みを開始しました
|
||||
Comment[kk]=Жобаны жүктеу процесі жаңа ғана басталды
|
||||
Comment[km]=ដំណើរការផ្ទុកគម្រោងទើបតែត្រូវបានចាប់ផ្ដើម
|
||||
Comment[nb]=En prosess med prosjektinnlasting er nettopp startet
|
||||
Comment[nds]=Dat Laden vun en Projekt hett jüst anfungen
|
||||
Comment[nl]=Een proces voor het laden van een project is zojuist gestart
|
||||
Comment[pl]=Rozpoczęło się wczytywanie projektu
|
||||
Comment[pt]=Acabou de ser iniciado um processo de carregamento do projecto
|
||||
Comment[pt_BR]=Um processo de carregamento de projeto foi iniciado
|
||||
Comment[ru]=Началась загрузка проекта
|
||||
Comment[sk]=Proces načítania projektu sa práve spustil
|
||||
Comment[sl]=Pričelo se je opravilo nalaganja projekta
|
||||
Comment[sv]=En laddningsprocess för projektet har just startats
|
||||
Comment[tr]=Bir proje yükleme süreci başladı
|
||||
Comment[ug]=قۇرۇلۇش ئوقۇش جەريانى باشلاندى
|
||||
Comment[uk]=Процес завантаження проекту було запущено
|
||||
Comment[x-test]=xxA project loading process has just startedxx
|
||||
Comment[zh_CN]=启动了一次工程装入操作
|
||||
Comment[zh_TW]=已開始載入專案
|
||||
Action=Popup
|
||||
|
||||
[Event/ProjectLoadedSuccessfully]
|
||||
Name=Project Loaded Successfully
|
||||
Name[bs]=Projekat uspješno učitan
|
||||
Name[ca]=El projecte s'ha carregat amb èxit
|
||||
Name[ca@valencia]=El projecte s'ha carregat amb èxit
|
||||
Name[cs]=Projekt úspěšně načten
|
||||
Name[da]=Projekt indlæst
|
||||
Name[de]=Projekt erfolgreich geladen
|
||||
Name[el]=Το έργο φορτώθηκε με επιτυχία
|
||||
Name[en_GB]=Project Loaded Successfully
|
||||
Name[es]=Proyecto cargado con éxito
|
||||
Name[et]=Projekt on edukalt laaditud
|
||||
Name[fi]=Projektin lataus onnistui
|
||||
Name[fr]=Le projet a été chargé avec succès
|
||||
Name[ga]=D'éirigh le luchtú an tionscadail
|
||||
Name[gl]=O proxecto cargouse con éxito
|
||||
Name[hu]=A projekt sikeresen betöltődött
|
||||
Name[it]=Progetto caricato correttamente
|
||||
Name[ja]=プロジェクトを読み込みました
|
||||
Name[kk]=Жоба сәтті жүктелді
|
||||
Name[km]=គម្រោងបានផ្ទុកដោយជោគជ័យ
|
||||
Name[lt]=Projektas pakrautas sėkmingai
|
||||
Name[nb]=Prosjektet vellykket lastet inn
|
||||
Name[nds]=Projekt mit Spood laadt
|
||||
Name[nl]=Project is succesvol geladen
|
||||
Name[pl]=Projekt wczytany poprawnie
|
||||
Name[pt]=O Projecto foi Carregado com Sucesso
|
||||
Name[pt_BR]=Projeto Carregado com Sucesso
|
||||
Name[ru]=Проект загружен
|
||||
Name[sk]=Projekt úspešne načítaný
|
||||
Name[sl]=Projekt uspešno naložen
|
||||
Name[sv]=Projekt laddat med lyckat resultat
|
||||
Name[tr]=Proje Başarılı Bir Şekilde Yüklendi
|
||||
Name[ug]=قۇرۇلۇش مۇۋەپپەقىيەتلىك ئوقۇلدى
|
||||
Name[uk]=Проект успішно завантажено
|
||||
Name[x-test]=xxProject Loaded Successfullyxx
|
||||
Name[zh_CN]=工程成功装入
|
||||
Name[zh_TW]=專案已成功載入
|
||||
Comment=A project has been loaded successfully
|
||||
Comment[bs]=Projekat je uspješno učitan
|
||||
Comment[ca]=S'ha carregat amb èxit un projecte
|
||||
Comment[ca@valencia]=S'ha carregat amb èxit un projecte
|
||||
Comment[cs]=Projekt byl úspěšně načten
|
||||
Comment[da]=Et projekt er blevet indlæst
|
||||
Comment[de]=Ein Projekt wurde erfolgreich geladen
|
||||
Comment[el]=Ένα έργο φορτώθηκε επιτυχία
|
||||
Comment[en_GB]=A project has been loaded successfully
|
||||
Comment[es]=Un proyecto ha sido cargado con éxito
|
||||
Comment[et]=Projekt on edukalt laaditud
|
||||
Comment[fi]=Projekti on ladattu onnistuneesti
|
||||
Comment[fr]=Un projet a été chargé avec succès
|
||||
Comment[ga]=D'éirigh le luchtú an tionscadail
|
||||
Comment[gl]=Un proxecto cargouse con éxito
|
||||
Comment[hu]=A projekt sikeresen betöltődött
|
||||
Comment[it]=Un progetto è stato caricato correttamente
|
||||
Comment[ja]=プロジェクトを読み込みました
|
||||
Comment[kk]=Жоба сәтті жүктелді
|
||||
Comment[km]=គម្រោងត្រូវបានផ្ទុកដោយជោគជ័យ
|
||||
Comment[nb]=Et prosjekt er vellykket lastet inn
|
||||
Comment[nds]=En Projekt wöör mit Spood laadt
|
||||
Comment[nl]=Een project is succesvol geladen
|
||||
Comment[pl]=Projekt został wczytany poprawnie
|
||||
Comment[pt]=Foi carregado um projecto com sucesso
|
||||
Comment[pt_BR]=Um projeto foi carregado com sucesso
|
||||
Comment[ru]=Проект загружен успешно
|
||||
Comment[sk]=Projekt bol úspešne načítaný
|
||||
Comment[sl]=Projekt je bil uspešno naložen
|
||||
Comment[sv]=Ett projekt har laddats med lyckat resultat
|
||||
Comment[tr]=Bir proje başarıyla yüklendi
|
||||
Comment[ug]=بىر قۇرۇلۇش مۇۋەپپەقىيەتلىك ئوقۇلدى
|
||||
Comment[uk]=Проект було успішно завантажено
|
||||
Comment[x-test]=xxA project has been loaded successfullyxx
|
||||
Comment[zh_CN]=成功装入了一个工程
|
||||
Comment[zh_TW]=專案已成功載入
|
||||
Action=Popup
|
||||
|
||||
[Context/debugger]
|
||||
Name=Debugger
|
||||
Name[bs]=Ispravljač grešaka
|
||||
Name[ca]=Depurador
|
||||
Name[ca@valencia]=Depurador
|
||||
Name[cs]=Debugger
|
||||
Name[da]=Fejlsøger
|
||||
Name[de]=Debugger
|
||||
Name[el]=Διορθωτής
|
||||
Name[en_GB]=Debugger
|
||||
Name[es]=Depurador
|
||||
Name[et]=Silur
|
||||
Name[fa]=اشکالزدا
|
||||
Name[fi]=Virheenjäljitin
|
||||
Name[fr]=Débogueur
|
||||
Name[gl]=Depurador
|
||||
Name[hu]=Hibakereső
|
||||
Name[it]=Debugger
|
||||
Name[ja]=デバッガ
|
||||
Name[kk]=Жөндегіш
|
||||
Name[km]=កម្មវិធីបំបាត់កំហុស
|
||||
Name[nb]=Feilsøker
|
||||
Name[nds]=Fehlersöker
|
||||
Name[nl]=Debugger
|
||||
Name[pl]=Debugger
|
||||
Name[pt]=Depurador
|
||||
Name[pt_BR]=Depurador
|
||||
Name[ru]=Отладчик
|
||||
Name[sk]=Debugger
|
||||
Name[sl]=Razhroščevalnik
|
||||
Name[sv]=Avlusare
|
||||
Name[tr]=Hata Ayıklayıcı
|
||||
Name[ug]=سازلىغۇچ
|
||||
Name[uk]=Зневадник
|
||||
Name[x-test]=xxDebuggerxx
|
||||
Name[zh_CN]=调试器
|
||||
Name[zh_TW]=除錯器
|
||||
|
||||
[Event/BreakpointHit]
|
||||
Contexts=debugger
|
||||
Action=Taskbar
|
||||
IconName=script-error
|
||||
Name=Breakpoint Hit
|
||||
Name[bs]=Dolazak do prijelomne tačke
|
||||
Name[ca]=Punt d'interrupció
|
||||
Name[ca@valencia]=Punt d'interrupció
|
||||
Name[cs]=Dosažen Breakpoint
|
||||
Name[da]=Stoppunkt nået
|
||||
Name[de]=Haltepunkt erreicht
|
||||
Name[el]=Σημείο προσωρινής παύσης
|
||||
Name[en_GB]=Breakpoint Hit
|
||||
Name[es]=Punto de interrupción alcanzado
|
||||
Name[et]=Katkestuspunkti tabamus
|
||||
Name[fi]=Keskeytyskohtaosuma
|
||||
Name[fr]=Point d'arrêt atteint
|
||||
Name[gl]=Atinxiuse un punto de parada
|
||||
Name[hu]=Töréspont találat
|
||||
Name[it]=Breakpoint raggiunto
|
||||
Name[ja]=ブレイクポイントをヒット
|
||||
Name[kk]=Аялдау нүктеге келу
|
||||
Name[km]=ចំណុចបញ្ឈប់
|
||||
Name[ko]=중단점 도달
|
||||
Name[nb]=Bruddpunkt nådd
|
||||
Name[nds]=Hollpunkt drapen
|
||||
Name[nl]=Breekpunt bereikt
|
||||
Name[pl]=Uruchomiono pułapkę
|
||||
Name[pt]=Ponto de Paragem Atingido
|
||||
Name[pt_BR]=Ponto de interrupção atingido
|
||||
Name[ru]=Достижение точки останова
|
||||
Name[sk]=Dosiahnutý breakpoint
|
||||
Name[sl]=Dosežena prekinitvena točka
|
||||
Name[sv]=Brytpunkt påträffad
|
||||
Name[tr]=Kesme Noktasına Gelindi
|
||||
Name[ug]=توختاش نۇقتىسىغا تەگدى
|
||||
Name[uk]=Проходження точки зупинки
|
||||
Name[x-test]=xxBreakpoint Hitxx
|
||||
Name[zh_CN]=断点命中
|
||||
Name[zh_TW]=遇到中斷點
|
||||
Comment=A Breakpoint has been hit by the debugger
|
||||
Comment[bs]=Ispravljač grešaka je dosao do prijelomne tačke
|
||||
Comment[ca]=El depurador ha assolit un punt d'interrupció
|
||||
Comment[ca@valencia]=El depurador ha assolit un punt d'interrupció
|
||||
Comment[cs]=Bod přerušení byl dosažen ladicím nástrojem
|
||||
Comment[da]=Fejlsøgeren nåede et stoppunkt
|
||||
Comment[de]=Der Debugger hat einen Haltepunkt erreicht
|
||||
Comment[el]=Ο διορθωτής έχει σημειώσει προσωρινή παύση
|
||||
Comment[en_GB]=A Breakpoint has been hit by the debugger
|
||||
Comment[es]=El depurador ha alcanzado un punto de interrupción
|
||||
Comment[et]=Silur jõudis katkestuspunktini
|
||||
Comment[fi]=Virheenjäljitin on osunut keskeytyskohtaan
|
||||
Comment[fr]=Un point d'arrêt a été atteint par le débogueur
|
||||
Comment[gl]=O depurador chegou a un punto de parada
|
||||
Comment[hu]=Egy töréspontot ért el a hibakereső
|
||||
Comment[it]=Un breakpoint è stato raggiunto dal debugger
|
||||
Comment[ja]=デバッガがブレイクポイントをヒットしました
|
||||
Comment[kk]=Жөндегіштегі процес аялдау нүктеге келді
|
||||
Comment[nb]=Feilsøkeren har nått et bruddpunkt
|
||||
Comment[nds]=De Fehlersöker is bi en Hollpunkt ankamen
|
||||
Comment[nl]=De debugger heeft een breekpunt bereikt
|
||||
Comment[pl]=Pułapka została uruchomiona przez debugger
|
||||
Comment[pt]=Foi atingido um ponto de paragem pelo depurador
|
||||
Comment[pt_BR]=Um ponto de interrupção foi atingido pelo depurador
|
||||
Comment[ru]=В отладчике достигнута точка останова
|
||||
Comment[sk]=Debuger dosiahol breakpoint
|
||||
Comment[sl]=Razhroščevalnik je dosegel prekinitveno točko
|
||||
Comment[sv]=En brytpunkt har påträffats av avlusaren
|
||||
Comment[tr]=Hata ayıklayıcı tarafından bir kesme noktasına gelindi
|
||||
Comment[ug]=سازلىغۇچ توختاش نۇقتىسىغا تەگدى
|
||||
Comment[uk]=Інструмент налагоджування пройшов позицію точки зупинки
|
||||
Comment[x-test]=xxA Breakpoint has been hit by the debuggerxx
|
||||
Comment[zh_CN]=调试器命中了一个断点
|
||||
Comment[zh_TW]=除錯器進行遇到中斷點
|
||||
|
||||
[Event/WatchpointHit]
|
||||
Contexts=debugger
|
||||
Action=Popup
|
||||
Name=Watchpoint Hit
|
||||
Name[bs]=Dolazak do pregledne tačke
|
||||
Name[ca]=Punt d'observació
|
||||
Name[ca@valencia]=Punt d'observació
|
||||
Name[cs]=Zásah bodu sledování
|
||||
Name[da]=Overvågningspunkt nået
|
||||
Name[de]=Beobachtungspunkt erreicht
|
||||
Name[el]=Θέση επιθεώρησης
|
||||
Name[en_GB]=Watchpoint Hit
|
||||
Name[es]=Punto de observación alcanzado
|
||||
Name[et]=Jälgimispunkti tabamus
|
||||
Name[fi]=Seurantakohtaosuma
|
||||
Name[fr]=Point de surveillance atteint
|
||||
Name[gl]=Atinxiuse un punto de vixilancia
|
||||
Name[hu]=Figyelőpont találat
|
||||
Name[it]=Watchpoint raggiunto
|
||||
Name[ja]=ウォッチポイントをヒット
|
||||
Name[kk]=Бақылау нүктеге келу
|
||||
Name[km]=ចំណុចមើល
|
||||
Name[nb]=Treff på vaktpunkt
|
||||
Name[nds]=Luerpunkt drapen
|
||||
Name[nl]=Bewakingspunt bereikt
|
||||
Name[pl]=Uruchomiono punkt kontrolny
|
||||
Name[pt]=Ponto de Vigia Atingido
|
||||
Name[pt_BR]=Ponto de Visualização atingido
|
||||
Name[ru]=Достижение точки наблюдения
|
||||
Name[sk]=Dosiahnutý bod sledovania
|
||||
Name[sl]=Dosežena opazovalna točka
|
||||
Name[sv]=Bevakningspunkt påträffad
|
||||
Name[tr]=İzleme Noktasına Gelindi
|
||||
Name[ug]=كۆزىتىش نۇختىسىغا تەگدى
|
||||
Name[uk]=Проходження точки спостереження
|
||||
Name[x-test]=xxWatchpoint Hitxx
|
||||
Name[zh_CN]=观察点命中
|
||||
Name[zh_TW]=遇到監看點
|
||||
Comment=A Watchpoint has been hit by the debugger
|
||||
Comment[bs]=Ispravljač grešaka je došao do pregledne tačke
|
||||
Comment[ca]=El depurador ha assolit un punt d'observació
|
||||
Comment[ca@valencia]=El depurador ha assolit un punt d'observació
|
||||
Comment[cs]=Bod sledování byl dosažen ladicím nástrojem
|
||||
Comment[da]=Fejlsøgeren nåede et overvågningspunkt
|
||||
Comment[de]=Der Debugger hat einen Beobachtungspunkt erreicht
|
||||
Comment[el]=Ο διορθωτής έχει σημειώσει θέση επιθεώρησης
|
||||
Comment[en_GB]=A Watchpoint has been hit by the debugger
|
||||
Comment[es]=El depurador ha alcanzado un punto de observación
|
||||
Comment[et]=Silur jõudis jälgimispunktini
|
||||
Comment[fi]=Virheenjäljitin on osunut seurantakohtaan
|
||||
Comment[fr]=Un point de surveillance a été atteint par le débogueur
|
||||
Comment[gl]=O depurador chegou a un punto de vixilancia
|
||||
Comment[hu]=Egy figyelőpontot ért el a hibakereső
|
||||
Comment[it]=Un watchpoint è stato raggiunto dal debugger
|
||||
Comment[ja]=デバッガがウォッチポイントをヒットしました
|
||||
Comment[kk]=Жөндегіштегі процес бақылау нүктеге келді
|
||||
Comment[nb]=Feilsøkeren har truffet et vaktpunkt
|
||||
Comment[nds]=De Fehlersöker is bi en Luerpunkt ankamen
|
||||
Comment[nl]=De debugger heeft een bewakingspunt bereikt
|
||||
Comment[pl]=Debugger uruchomił punkt kontrolny
|
||||
Comment[pt]=Foi atingido um ponto de vigia pelo depurador
|
||||
Comment[pt_BR]=Um ponto de Visualização foi atingido pelo depurador
|
||||
Comment[ru]=В отладчике достигнута точка наблюдения
|
||||
Comment[sk]=Debuger dosiahol kontrolný bod
|
||||
Comment[sl]=Razhroščevalnik je dosegel opazovalno točko
|
||||
Comment[sv]=En bevakningspunkt har påträffats av avlusaren
|
||||
Comment[tr]=Hata ayıklayıcı tarafından bir izleme noktasına gelindi
|
||||
Comment[ug]=سازلىغۇچ كۆزىتىش نۇقتىسىغا تەگدى
|
||||
Comment[uk]=Інструмент налагоджування пройшов позицію точки спостереження
|
||||
Comment[x-test]=xxA Watchpoint has been hit by the debuggerxx
|
||||
Comment[zh_CN]=调试器命中了一个观察点
|
||||
Comment[zh_TW]=除錯器進行遇到監看點
|
42
kdevelop/app/kdevelop.xml
Normal file
42
kdevelop/app/kdevelop.xml
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="text/x-kdevelop">
|
||||
<comment>KDevelop 4 Project File</comment>
|
||||
<comment xml:lang="ca">Fitxer de projecte de KDevelop 4</comment>
|
||||
<comment xml:lang="ca@valencia">Fitxer de projecte de KDevelop 4</comment>
|
||||
<comment xml:lang="cs">Soubor projektu Kdevelop 4</comment>
|
||||
<comment xml:lang="da">KDevelop 4 projektfil</comment>
|
||||
<comment xml:lang="de">KDevelop-4-Projektdatei</comment>
|
||||
<comment xml:lang="el">Αρχείο έργου KDevelop 4</comment>
|
||||
<comment xml:lang="en_GB">KDevelop 4 Project File</comment>
|
||||
<comment xml:lang="es">Archivo de proyecto de KDevelop 4</comment>
|
||||
<comment xml:lang="et">KDevelop 4 projektifail</comment>
|
||||
<comment xml:lang="fa">پروندۀ پروژۀ KDevelop 4</comment>
|
||||
<comment xml:lang="fi">KDevelop 4-projektitiedosto</comment>
|
||||
<comment xml:lang="fr">Fichier projet KDevelop 4</comment>
|
||||
<comment xml:lang="ga">Comhad Tionscadail KDevelop 4</comment>
|
||||
<comment xml:lang="gl">Ficheiro de proxecto de KDevelop 4</comment>
|
||||
<comment xml:lang="hi">के-डेवलप ४ परियोजना फ़ाइल</comment>
|
||||
<comment xml:lang="hne">के-डेवलप ४ परियोजना फाइल</comment>
|
||||
<comment xml:lang="it">File di progetto per KDevelop 4</comment>
|
||||
<comment xml:lang="ja">KDevelop 4 プロジェクトファイル</comment>
|
||||
<comment xml:lang="ko">KDevelop 4 프로젝트 파일</comment>
|
||||
<comment xml:lang="lv">KDevelop 4 projekta fails</comment>
|
||||
<comment xml:lang="nb">KDevelop 4 prosjektfil</comment>
|
||||
<comment xml:lang="nds">KDevelop4-Projektdatei</comment>
|
||||
<comment xml:lang="ne">केडीई विकास ४ परियोजना फाइल</comment>
|
||||
<comment xml:lang="nl">KDevelop 4 projectbestand</comment>
|
||||
<comment xml:lang="pl">Plik projektu KDevelopa 4</comment>
|
||||
<comment xml:lang="pt">Ficheiro de Projecto do KDevelop 4</comment>
|
||||
<comment xml:lang="pt_BR">Arquivo de Projeto do KDevelop 4</comment>
|
||||
<comment xml:lang="ro">Fișier Proiect Kdevelop 4</comment>
|
||||
<comment xml:lang="ru">Файл проекта KDevelop 4</comment>
|
||||
<comment xml:lang="sl">Projektna datoteka KDevelop 4</comment>
|
||||
<comment xml:lang="sv">KDevelop 4-projektfil</comment>
|
||||
<comment xml:lang="tr">KDevelop 4 Proje Dosyası</comment>
|
||||
<comment xml:lang="uk">Файл проекту KDevelop 4</comment>
|
||||
<comment xml:lang="zh_CN">KDevelop 4 工程文件</comment>
|
||||
<comment xml:lang="zh_TW">KDevelop 4 專案檔</comment>
|
||||
<glob pattern="*.kdev4"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
75
kdevelop/app/kdevelop_ps.desktop
Normal file
75
kdevelop/app/kdevelop_ps.desktop
Normal file
|
@ -0,0 +1,75 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Exec=kdevelop --ps
|
||||
MimeType=application/x-kdevelop;
|
||||
Icon=kdevelop
|
||||
Terminal=false
|
||||
Name=KDevelop 4 (Pick Session)
|
||||
Name[bs]=KDevelop 4 (Dobavljanje sesije)
|
||||
Name[ca]=KDevelop 4 (Selecció de sessió)
|
||||
Name[ca@valencia]=KDevelop 4 (Selecció de sessió)
|
||||
Name[cs]=KDevelop 4 (Zvolte relaci)
|
||||
Name[da]=KDevelop 4 (vælg session)
|
||||
Name[de]=KDevelop 4 (Sitzung auswählen)
|
||||
Name[el]=KDevelop 4 (Επιλογή συνεδρίας)
|
||||
Name[en_GB]=KDevelop 4 (Pick Session)
|
||||
Name[es]=KDevelop 4 (escoger sesión)
|
||||
Name[et]=KDevelop 4 (seansi valimine)
|
||||
Name[fi]=KDevelop 4 (valitse istunto)
|
||||
Name[fr]=KDevelop 4 (choix d'une session)
|
||||
Name[ga]=KDevelop 4 (Roghnaigh Seisiún)
|
||||
Name[gl]=KDevelop 4 (escoller unha sesión)
|
||||
Name[hu]=KDevelop (munkamenet felvétele)
|
||||
Name[it]=KDevelop 4 (Scegliere la sessione)
|
||||
Name[kk]=KDevelop 4 (Сеансты сайлау)
|
||||
Name[lt]=KDevelop 4 (pasirinkite seansą)
|
||||
Name[nb]=KDevelop 4 (Velg økt)
|
||||
Name[nds]=KDevelop 4 (Törn utsöken)
|
||||
Name[nl]=KDevelop 4 (pak een sessie)
|
||||
Name[pl]=KDevelop 4 (Wybierz sesję)
|
||||
Name[pt]=KDevelop 4 (Seleccionar uma Sessão)
|
||||
Name[pt_BR]=KDevelop 4 (selecionar uma sessão)
|
||||
Name[ru]=KDevelop 4 (с выбором сеанса)
|
||||
Name[sk]=KDevelop 4 (zvoliť sedenie)
|
||||
Name[sl]=KDevelop 4 (izbor seje)
|
||||
Name[sv]=KDevelop 4 (välj session)
|
||||
Name[tr]=KDevelop 4 (Oturum Seçin)
|
||||
Name[uk]=KDevelop 4 (Вибір сеансу)
|
||||
Name[x-test]=xxKDevelop 4 (Pick Session)xx
|
||||
Name[zh_CN]=KDevelop 4 (选择会话)
|
||||
Name[zh_TW]=KDevelop 4(選擇工作階段)
|
||||
GenericName=Integrated Development Environment (Pick Session to start with)
|
||||
GenericName[bs]=Integrisano razvojno okruženje (odaberite sesiju za započeti)
|
||||
GenericName[ca]=Entorn integrat de desenvolupament (Seleccioneu una sessió)
|
||||
GenericName[ca@valencia]=Entorn integrat de desenvolupament (Seleccioneu una sessió)
|
||||
GenericName[cs]=Integrované Vývojové Prostředí (Zvolte si relaci, se kterou si přejete začít)
|
||||
GenericName[da]=Integreret udviklingsmiljø (IDE) (vælg session at starte med)
|
||||
GenericName[de]=Integrierte Entwicklungsumgebung (zu startende Sitzung auswählen)
|
||||
GenericName[el]=Ολοκληρωμένο περιβάλλον ανάπτυξης (Επιλογή συνεδρίας για εκκίνηση)
|
||||
GenericName[en_GB]=Integrated Development Environment (Pick Session to start with)
|
||||
GenericName[es]=Entorno de desarrollo integrado (escoger sesión con la que empezar)
|
||||
GenericName[et]=Integreeritud arenduskeskkond (seansi valimine alustamiseks)
|
||||
GenericName[fi]=Integroitu kehitysympäristö (valitse aloitettava istunto)
|
||||
GenericName[fr]=Environnement de Développement Intégré (choix d'une session avec laquelle démarrer)
|
||||
GenericName[ga]=Timpeallacht Chomhtháite Fhorbartha (Roghnaigh Seisiún i dtosach báire)
|
||||
GenericName[gl]=Entorno de desenvolvemento integrado (Escolla unha sesión coa que comezar)
|
||||
GenericName[hu]=Integrált fejlesztői környezet (először munkamenet felvétele)
|
||||
GenericName[it]=Ambiente di sviluppo integrato (Scegliere la sessione con cui iniziare)
|
||||
GenericName[kk]=Біріктірілген құрастыру ортасы (Бастайтын сеансты таңдап алу)
|
||||
GenericName[lt]=Integruota programavimo aplinka (pasirinkite seansą su kuriuo startuosite)
|
||||
GenericName[nb]=Integrert utviklingsmiljø (velg økt å starte med)
|
||||
GenericName[nds]=Programmsmeed (Söök en Törn ut, mit den Du starten wullt)
|
||||
GenericName[nl]=Geïntegreerde ontwikkelomgeving (pak een sessie om mee te beginnen)
|
||||
GenericName[pl]=Zintegrowane środowisko programistyczne (Wybierz sesję do rozpoczęcia)
|
||||
GenericName[pt]=Ambiente de Desenvolvimento Integrado (Seleccionar a sessão com que iniciar)
|
||||
GenericName[pt_BR]=Ambiente Integrado de Desenvolvimento (selecione a sessão para início)
|
||||
GenericName[ru]=Интегрированная среда разработки (с выбором начального сеанса)
|
||||
GenericName[sk]=Integrované vývojové prostredie (zvoľte sedenie na spustenie)
|
||||
GenericName[sl]=Integrirano razvojno okolje (izberite sejo za začetek)
|
||||
GenericName[sv]=Integrerad utvecklingsmiljö (välj session att starta)
|
||||
GenericName[tr]=Tümleşik Geliştirme Ortamı (Başlamak için Oturum Seçin)
|
||||
GenericName[uk]=Комплексне середовище розробки (виберіть сеанс, з якого слід розпочати роботу)
|
||||
GenericName[x-test]=xxIntegrated Development Environment (Pick Session to start with)xx
|
||||
GenericName[zh_CN]=集成开发环境(选择要启动的会话)
|
||||
GenericName[zh_TW]=整合開發環境(選擇要開始的工作階段)
|
||||
Categories=Qt;KDE;Development;IDE;
|
69
kdevelop/app/kdeveloprc
Normal file
69
kdevelop/app/kdeveloprc
Normal file
|
@ -0,0 +1,69 @@
|
|||
[AStyle]
|
||||
Brackets=Break
|
||||
Fill=Spaces
|
||||
FillSpaces=2
|
||||
IndentBrackets=false
|
||||
IndentCases=false
|
||||
IndentClasses=false
|
||||
IndentLabels=true
|
||||
IndentNamespaces=true
|
||||
IndentSwitches=false
|
||||
KeepBlocks=false
|
||||
KeepStatements=false
|
||||
MaxStatement=40
|
||||
MinConditional=-1
|
||||
PadOperators=false
|
||||
PadParentheses=false
|
||||
Style=UserDefined
|
||||
|
||||
[Editor]
|
||||
EmbeddedKTextEditor=Embedded KDE Advanced Text Editor Component
|
||||
|
||||
[General Options]
|
||||
Read Last Project On Startup=true
|
||||
Display Document Categories=true
|
||||
|
||||
[Mainwindow]
|
||||
Height 768=548
|
||||
Width 1024=735
|
||||
|
||||
[Mainwindow Toolbar mainToolBar]
|
||||
Hidden=false
|
||||
IconSize=22
|
||||
IconText=IconOnly
|
||||
Index=0
|
||||
NewLine=false
|
||||
Offset=-1
|
||||
Position=Top
|
||||
|
||||
[Mainwindow Toolbar QextMdiTaskBar]
|
||||
Hidden=true
|
||||
IconSize=22
|
||||
IconText=IconOnly
|
||||
Index=1
|
||||
NewLine=false
|
||||
Offset=-1
|
||||
Position=Bottom
|
||||
|
||||
[Mainwindow Toolbar browserToolBar]
|
||||
Hidden=false
|
||||
IconSize=22
|
||||
IconText=IconOnly
|
||||
Index=2
|
||||
NewLine=true
|
||||
Offset=-1
|
||||
Position=Top
|
||||
|
||||
[Plugins]
|
||||
KDevScripting=false
|
||||
|
||||
[UI]
|
||||
TabVisibility=0
|
||||
CloseOnHover=false
|
||||
CloseOnHoverDelay=false
|
||||
OpenNewTabAfterCurrent=true
|
||||
ShowCloseTabsButton=true
|
||||
ShowTabIcons=false
|
||||
|
||||
[Kate View Defaults]
|
||||
Icon Bar=true
|
189
kdevelop/app/kdevelopui.rc
Normal file
189
kdevelop/app/kdevelopui.rc
Normal file
|
@ -0,0 +1,189 @@
|
|||
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
|
||||
<kpartgui version="136" name="kdevelop" >
|
||||
<MenuBar>
|
||||
|
||||
<Menu name="session" append="first_menu">
|
||||
<text context="@title:menu">Session</text>
|
||||
</Menu>
|
||||
|
||||
<Menu name="project" append="first_menu">
|
||||
<text context="@title:menu">&Project</text>
|
||||
<DefineGroup name="project_new"/>
|
||||
<Separator/>
|
||||
<Action name="project_open"/>
|
||||
<Action name="project_fetch"/>
|
||||
<Action name="project_open_recent"/>
|
||||
<Action name="project_open_for_file"/>
|
||||
<Separator/>
|
||||
|
||||
<Merge />
|
||||
<Separator />
|
||||
<Action name="project_open_config" />
|
||||
|
||||
<Separator/>
|
||||
<Action name="project_close"/>
|
||||
<Action name="project_close_all"/>
|
||||
</Menu>
|
||||
|
||||
<Menu name="run" append="first_menu">
|
||||
<text name="@title:menu">&Run</text>
|
||||
|
||||
<Action name="run_default_target" />
|
||||
<Action name="configure_launches" />
|
||||
<Action name="run_execute" /> <!-- ### remove me -->
|
||||
<Action name="run_debug" /> <!-- ### remove me -->
|
||||
<Action name="run_profile" /> <!-- ### remove me -->
|
||||
|
||||
<DefineGroup name="run_operations" />
|
||||
|
||||
<Separator />
|
||||
|
||||
<Action name="run_stop_all" />
|
||||
<Action name="run_stop_menu" />
|
||||
|
||||
|
||||
<Separator />
|
||||
<DefineGroup name="debug" /> <!-- ### remove me -->
|
||||
|
||||
<Separator />
|
||||
<Merge />
|
||||
</Menu>
|
||||
|
||||
<Menu name="navigation" append="first_menu">
|
||||
<text context="@title:menu">&Navigation</text>
|
||||
<DefineGroup name="navigation_file"/>
|
||||
<Separator />
|
||||
<Action name="previous_error" />
|
||||
<Action name="next_error" />
|
||||
<Separator />
|
||||
<DefineGroup name="navigation_code"/>
|
||||
<Separator />
|
||||
<DefineGroup name="navigation_fxn"/>
|
||||
<Separator />
|
||||
<DefineGroup name="navigation_jmp"/>
|
||||
<Separator />
|
||||
<DefineGroup name="navigation_use"/>
|
||||
<Separator />
|
||||
<DefineGroup name="navigation_cxt"/>
|
||||
<Separator />
|
||||
<Merge />
|
||||
</Menu>
|
||||
|
||||
<Separator append="first_menu" style="visible"/>
|
||||
|
||||
<Menu name="file">
|
||||
<text context="@title:menu">&File</text>
|
||||
<DefineGroup append="new_merge" name="new_merge"/>
|
||||
<DefineGroup append="open_merge" name="open_merge"/>
|
||||
<DefineGroup append="save_merge" name="save_merge"/>
|
||||
<DefineGroup append="revert_merge" name="revert_merge"/>
|
||||
<DefineGroup append="print_merge" name="print_merge"/>
|
||||
<Action name="file_closeother" append="close_merge"/>
|
||||
<DefineGroup append="close_merge" name="close_merge"/>
|
||||
</Menu>
|
||||
|
||||
<Menu name="edit">
|
||||
<text context="@title:menu">&Edit</text>
|
||||
<DefineGroup append="edit_undo_merge" name="edit_undo_merge"/>
|
||||
<DefineGroup append="edit_paste_merge" name="edit_paste_merge"/>
|
||||
<DefineGroup append="edit_select_merge" name="edit_select_merge"/>
|
||||
<DefineGroup append="edit_find_merge" name="edit_find_merge"/>
|
||||
<DefineGroup name="edit_formatting"/>
|
||||
<Separator/>
|
||||
<Merge/>
|
||||
</Menu>
|
||||
|
||||
<Merge />
|
||||
|
||||
<Menu name="editor">
|
||||
<text context="@title:menu">Editor</text>
|
||||
<Merge/>
|
||||
</Menu>
|
||||
|
||||
<Menu name="code">
|
||||
<text context="@title:menu">Code</text>
|
||||
<Merge/>
|
||||
</Menu>
|
||||
|
||||
<Separator style="visible" />
|
||||
|
||||
<Menu name="window">
|
||||
<text context="@title:menu">&Window</text>
|
||||
<Action name="new_window"/>
|
||||
<Separator/>
|
||||
<Action name="add_toolview"/>
|
||||
<Action name="select_previous_dock"/>
|
||||
<Action name="select_next_dock"/>
|
||||
<Action name="docks_submenu"/>
|
||||
<Action name="user_interface"/>
|
||||
<DefineGroup name="history_operations"/>
|
||||
<Action name="history_back"/>
|
||||
<Action name="history_forward"/>
|
||||
<Separator/>
|
||||
<Action name="file_switchto"/>
|
||||
<Separator/>
|
||||
<DefineGroup name="error_operations"/>
|
||||
<Separator/>
|
||||
<Merge/>
|
||||
<Separator/>
|
||||
<DefineGroup name="view_operations"/>
|
||||
<Action name="view_previous_window"/>
|
||||
<Action name="view_next_window"/>
|
||||
<Separator/>
|
||||
<Action name="split_horizontal"/>
|
||||
<Action name="split_vertical"/>
|
||||
<Action name="view_previous_split"/>
|
||||
<Action name="view_next_split"/>
|
||||
<Separator/>
|
||||
<DefineGroup name="window_operations"/>
|
||||
<Separator/>
|
||||
<Action name="focus_editor"/>
|
||||
<Separator/>
|
||||
<Action name="show_left_dock"/>
|
||||
<Action name="show_right_dock"/>
|
||||
<Action name="show_bottom_dock"/>
|
||||
<Action name="hide_all_docks"/>
|
||||
<Separator/>
|
||||
<Merge/>
|
||||
</Menu>
|
||||
|
||||
<Menu name="settings">
|
||||
<text context="@title:menu">Settings</text>
|
||||
<DefineGroup append="show_toolbar_merge" name="show_toolbar_merge"/>
|
||||
<DefineGroup append="show_merge" name="show_merge" />
|
||||
<Action name="show_editorconfig" append="configure_merge" />
|
||||
<DefineGroup append="configure_merge" name="configure_merge" />
|
||||
</Menu>
|
||||
|
||||
<Menu name="help">
|
||||
<Action name="loaded_plugins" append="about_merge" />
|
||||
<Action name="about_platform" append="about_merge" />
|
||||
</Menu>
|
||||
|
||||
</MenuBar>
|
||||
|
||||
<ToolBar name="mainToolBar" position="Top" noMerge="1">
|
||||
<text>Main Toolbar</text>
|
||||
<Action name="area_switcher"/>
|
||||
<Separator/>
|
||||
<DefineGroup append="build_operations" name="build_operations"/>
|
||||
<DefineGroup append="run_operations" name="run_operations"/>
|
||||
<Action name="run_execute" group="run_operations"/>
|
||||
<Action name="run_debug" group="run_operations"/>
|
||||
<Action name="run_stop_all" group="run_operations" />
|
||||
<Action name="run_stop_menu" group="run_operations" />
|
||||
<Separator/>
|
||||
<Action name="file_new" />
|
||||
<DefineGroup append="file_operations" name="file_operations"/>
|
||||
<DefineGroup append="edit_operations" name="edit_operations"/>
|
||||
<Separator/>
|
||||
<Action name="commit_current_project" />
|
||||
</ToolBar>
|
||||
|
||||
<Menu name="rb_popup">
|
||||
<Separator/>
|
||||
<Action name="file_close"/>
|
||||
<Action name="file_closeother"/>
|
||||
</Menu>
|
||||
|
||||
</kpartgui>
|
66
kdevelop/app/kdevideextension.cpp
Normal file
66
kdevelop/app/kdevideextension.cpp
Normal file
|
@ -0,0 +1,66 @@
|
|||
/***************************************************************************
|
||||
* Copyright 2004 Alexander Dymo <adymo@kdevelop.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
#include "kdevideextension.h"
|
||||
|
||||
#include <QStringList>
|
||||
#include <KLocalizedString>
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
KDevIDEExtension::KDevIDEExtension()
|
||||
: ShellExtension()
|
||||
{
|
||||
}
|
||||
|
||||
void KDevIDEExtension::init()
|
||||
{
|
||||
s_instance = new KDevIDEExtension();
|
||||
}
|
||||
|
||||
QString KDevIDEExtension::xmlFile()
|
||||
{
|
||||
return "kdevelopui.rc";
|
||||
}
|
||||
|
||||
QString KDevIDEExtension::binaryPath()
|
||||
{
|
||||
return QApplication::applicationDirPath() + "/kdevelop";
|
||||
}
|
||||
|
||||
KDevelop::AreaParams KDevIDEExtension::defaultArea()
|
||||
{
|
||||
KDevelop::AreaParams params = {"code", i18n("Code")};
|
||||
return params;
|
||||
}
|
||||
|
||||
QString KDevIDEExtension::projectFileExtension()
|
||||
{
|
||||
return "kdev4";
|
||||
}
|
||||
|
||||
QString KDevIDEExtension::projectFileDescription()
|
||||
{
|
||||
return i18n("KDevelop4 Project Files");
|
||||
}
|
||||
|
||||
QStringList KDevIDEExtension::defaultPlugins()
|
||||
{
|
||||
return QStringList();
|
||||
}
|
||||
|
48
kdevelop/app/kdevideextension.h
Normal file
48
kdevelop/app/kdevideextension.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
/***************************************************************************
|
||||
* Copyright 2004 Alexander Dymo <adymo@kdevelop.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
#ifndef KDEVIDEEXTENSION_H
|
||||
#define KDEVIDEEXTENSION_H
|
||||
|
||||
#include <shell/shellextension.h>
|
||||
|
||||
|
||||
class KDevIDEExtension : public KDevelop::ShellExtension {
|
||||
public:
|
||||
static void init();
|
||||
|
||||
virtual QString xmlFile();
|
||||
virtual QString binaryPath();
|
||||
virtual KDevelop::AreaParams defaultArea();
|
||||
virtual QString projectFileExtension();
|
||||
virtual QString projectFileDescription();
|
||||
virtual QStringList defaultPlugins();
|
||||
|
||||
protected:
|
||||
KDevIDEExtension();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
583
kdevelop/app/main.cpp
Normal file
583
kdevelop/app/main.cpp
Normal file
|
@ -0,0 +1,583 @@
|
|||
/***************************************************************************
|
||||
* Copyright 2003-2009 Alexander Dymo <adymo@kdevelop.org> *
|
||||
* Copyright 2007 Ralf Habacker <Ralf.Habacker@freenet.de> *
|
||||
* Copyright 2006-2007 Matt Rogers <mattr@kde.org> *
|
||||
* Copyright 2006-2007 Hamish Rodda <rodda@kde.org> *
|
||||
* Copyright 2005-2007 Adam Treat <treat@kde.org> *
|
||||
* Copyright 2003-2007 Jens Dagerbo <jens.dagerbo@swipnet.se> *
|
||||
* Copyright 2001-2002 Bernd Gehrmann <bernd@mail.berlios.de> *
|
||||
* Copyright 2001-2002 Matthias Hoelzer-Kluepfel <hoelzer@kde.org> *
|
||||
* Copyright 2003 Roberto Raggi <roberto@kdevelop.org> *
|
||||
* Copyright 2010 Niko Sams <niko.sams@gmail.com> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU Library General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <kaboutdata.h>
|
||||
#include <kapplication.h>
|
||||
#include <kcmdlineargs.h>
|
||||
#include <klocale.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <kdebug.h>
|
||||
#include <ksplashscreen.h>
|
||||
#include <kmessagebox.h>
|
||||
#include <ktexteditor/cursor.h>
|
||||
|
||||
#include <QFileInfo>
|
||||
#include <QDir>
|
||||
#include <QProcess>
|
||||
#include <QSessionManager>
|
||||
#include <QTextStream>
|
||||
#include <QDBusInterface>
|
||||
#include <QDBusReply>
|
||||
|
||||
#include <shell/core.h>
|
||||
#include <shell/mainwindow.h>
|
||||
#include <shell/projectcontroller.h>
|
||||
#include <shell/documentcontroller.h>
|
||||
#include <shell/plugincontroller.h>
|
||||
#include <shell/sessioncontroller.h>
|
||||
#include <shell/runcontroller.h>
|
||||
#include <shell/launchconfiguration.h>
|
||||
#include <shell/session.h>
|
||||
#include <interfaces/ilauncher.h>
|
||||
#include <interfaces/iproject.h>
|
||||
#include <interfaces/launchconfigurationtype.h>
|
||||
|
||||
#include "kdevideextension.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "welcomepage/welcomepageview.h"
|
||||
#include "splash.h"
|
||||
|
||||
#ifdef Q_OS_MAC
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
#endif
|
||||
|
||||
using KDevelop::Core;
|
||||
|
||||
// Represents a file to be opened, consisting of its URL and the linenumber to jump to
|
||||
typedef QPair<QString, int> File;
|
||||
|
||||
class KDevelopApplication: public KApplication {
|
||||
public:
|
||||
explicit KDevelopApplication(bool GUIenabled = true): KApplication(GUIenabled) {}
|
||||
|
||||
void saveState( QSessionManager& sm ) {
|
||||
if (KDevelop::Core::self() && KDevelop::Core::self()->sessionController()) {
|
||||
QString x11SessionId = QString("%1_%2").arg(sm.sessionId()).arg(sm.sessionKey());
|
||||
QString kdevelopSessionId = KDevelop::Core::self()->sessionController()->activeSession()->id().toString();
|
||||
|
||||
sm.setRestartCommand(QStringList() << QCoreApplication::applicationFilePath() << "-session" << x11SessionId << "-s" << kdevelopSessionId);
|
||||
}
|
||||
|
||||
KApplication::saveState(sm);
|
||||
}
|
||||
};
|
||||
|
||||
/// Tries to find a session identified by @p data in @p sessions.
|
||||
/// The @p data may be either a session's name or a string-representation of its UUID.
|
||||
/// @return pointer to the session or NULL if nothing appropriate has been found
|
||||
static const KDevelop::SessionInfo* findSessionInList( QList<KDevelop::SessionInfo>& sessions, const QString& data )
|
||||
{
|
||||
// We won't search a session without input data, since that could lead to false-positives
|
||||
// with unnamed sessions
|
||||
if( data.isEmpty() )
|
||||
return 0;
|
||||
|
||||
for( QList<KDevelop::SessionInfo>::const_iterator it = sessions.constBegin(); it != sessions.constEnd(); ++it ) {
|
||||
if ( ( it->name == data ) || ( it->uuid.toString() == data ) ) {
|
||||
const KDevelop::SessionInfo& sessionRef = *it;
|
||||
return &sessionRef;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// Parses a filename given as an argument by determining its line number and full path
|
||||
static File parseFilename(QString argument)
|
||||
{
|
||||
if ( KUrl::isRelativeUrl(argument) && ! argument.startsWith('/') ) {
|
||||
argument = QDir::currentPath() + "/" + argument;
|
||||
}
|
||||
//Allow opening specific lines in documents, like mydoc.cpp:10
|
||||
int lineNumberOffset = argument.lastIndexOf(':');
|
||||
int line = -1;
|
||||
if( lineNumberOffset != -1 )
|
||||
{
|
||||
bool isInt;
|
||||
int lineNr = argument.mid(lineNumberOffset+1).toInt(&isInt);
|
||||
if (isInt)
|
||||
{
|
||||
argument = argument.left(lineNumberOffset);
|
||||
line = lineNr;
|
||||
}
|
||||
}
|
||||
return File(argument, line);
|
||||
}
|
||||
|
||||
/// Performs a DBus call to open the given @p files in the running kdev instance identified by @p pid
|
||||
/// Returns the exit status
|
||||
static int openFilesInRunningInstance(const QVector<File>& files, int pid)
|
||||
{
|
||||
const QString service = QString("org.kdevelop.kdevelop-%1").arg(pid);
|
||||
QDBusInterface iface(service, "/org/kdevelop/DocumentController", "org.kdevelop.DocumentController");
|
||||
|
||||
QStringList urls;
|
||||
bool errors_occured = false;
|
||||
foreach ( const File& file, files ) {
|
||||
QDBusReply<bool> result = iface.call("openDocumentSimple", file.first);
|
||||
if ( ! result.value() ) {
|
||||
QTextStream err(stderr);
|
||||
err << i18n("Could not open file %1.", file.first) << "\n";
|
||||
errors_occured = true;
|
||||
}
|
||||
}
|
||||
// make the window visible
|
||||
QDBusMessage makeVisible = QDBusMessage::createMethodCall( service, "/kdevelop/MainWindow", "org.kdevelop.MainWindow",
|
||||
"ensureVisible" );
|
||||
QDBusConnection::sessionBus().asyncCall( makeVisible );
|
||||
return errors_occured ? 1 : 0;
|
||||
}
|
||||
|
||||
/// Gets the PID of a running KDevelop instance, eventually asking the user if there is more than one.
|
||||
/// Returns -1 in case there are no running sessions.
|
||||
static int getRunningSessionPid()
|
||||
{
|
||||
QList<KDevelop::SessionInfo> candidates;
|
||||
foreach( const KDevelop::SessionInfo& si, KDevelop::SessionController::availableSessionInfo() ) {
|
||||
if( KDevelop::SessionController::isSessionRunning(si.uuid.toString()) ) {
|
||||
candidates << si;
|
||||
}
|
||||
}
|
||||
if ( candidates.isEmpty() ) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
QString sessionUuid;
|
||||
if ( candidates.size() == 1 ) {
|
||||
sessionUuid = candidates.first().uuid.toString();
|
||||
}
|
||||
else {
|
||||
const QString title = i18n("Select the session to open the document in");
|
||||
sessionUuid = KDevelop::SessionController::showSessionChooserDialog(title, true);
|
||||
}
|
||||
return KDevelop::SessionController::sessionRunInfo(sessionUuid).holderPid;
|
||||
}
|
||||
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
#ifdef Q_OS_MAC
|
||||
CFBundleRef mainBundle = CFBundleGetMainBundle();
|
||||
if (mainBundle) {
|
||||
// get the application's Info Dictionary. For app bundles this would live in the bundle's Info.plist,
|
||||
// for regular executables it is obtained in another way.
|
||||
CFMutableDictionaryRef infoDict = (CFMutableDictionaryRef) CFBundleGetInfoDictionary(mainBundle);
|
||||
if (infoDict) {
|
||||
// Try to prevent App Nap on OS X. This can be tricky in practice, at least in 10.9 .
|
||||
CFDictionarySetValue(infoDict, CFSTR("NSAppSleepDisabled"), kCFBooleanTrue);
|
||||
CFDictionarySetValue(infoDict, CFSTR("NSSupportsAutomaticTermination"), kCFBooleanFalse);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static const char description[] = I18N_NOOP( "The KDevelop Integrated Development Environment" );
|
||||
KAboutData aboutData( "kdevelop", 0, ki18n( "KDevelop" ), QByteArray(VERSION), ki18n(description), KAboutData::License_GPL,
|
||||
ki18n( "Copyright 1999-2014, The KDevelop developers" ), KLocalizedString(), "http://www.kdevelop.org/" );
|
||||
aboutData.addAuthor( ki18n("Andreas Pakulat"), ki18n( "Architecture, VCS Support, Project Management Support, QMake Projectmanager" ), "apaku@gmx.de" );
|
||||
aboutData.addAuthor( ki18n("Alexander Dymo"), ki18n( "Architecture, Sublime UI, Ruby support" ), "adymo@kdevelop.org" );
|
||||
aboutData.addAuthor( ki18n("David Nolden"), ki18n( "Definition-Use Chain, C++ Support, Code Navigation, Code Completion, Coding Assistance, Refactoring" ), "david.nolden.kdevelop@art-master.de" );
|
||||
aboutData.addAuthor( ki18n("Aleix Pol Gonzalez"), ki18n( "Co-Maintainer, CMake Support, Run Support, Kross Support" ), "aleixpol@gmail.com" );
|
||||
aboutData.addAuthor( ki18n("Vladimir Prus"), ki18n( "GDB integration" ), "ghost@cs.msu.su" );
|
||||
aboutData.addAuthor( ki18n("Hamish Rodda"), ki18n( "Text editor integration, definition-use chain" ), "rodda@kde.org" );
|
||||
aboutData.addAuthor( ki18n("Amilcar do Carmo Lucas"), ki18n( "Website admin, API documentation, Doxygen and autoproject patches" ), "amilcar@kdevelop.org" );
|
||||
aboutData.addAuthor( ki18n("Niko Sams"), ki18n( "GDB integration, Webdevelopment Plugins" ), "niko.sams@gmail.com" );
|
||||
aboutData.addAuthor( ki18n("Milian Wolff"), ki18n( "Co-Maintainer, Generic manager, Webdevelopment Plugins, Snippets, Performance" ), "mail@milianw.de" );
|
||||
aboutData.addAuthor( ki18n("Sven Brauch"), ki18n( "Python Support, User Interface improvements" ), "svenbrauch@gmail.com" );
|
||||
|
||||
aboutData.addCredit( ki18n("Matt Rogers"), KLocalizedString(), "mattr@kde.org");
|
||||
aboutData.addCredit( ki18n("Cédric Pasteur"), ki18n("astyle and indent support"), "cedric.pasteur@free.fr" );
|
||||
aboutData.addCredit( ki18n("Evgeniy Ivanov"), ki18n("Distributed VCS, Git, Mercurial"), "powerfox@kde.ru" );
|
||||
// QTest integration is separate in playground currently.
|
||||
//aboutData.addCredit( ki18n("Manuel Breugelmanns"), ki18n( "Veritas, QTest integration"), "mbr.nxi@gmail.com" );
|
||||
aboutData.addCredit( ki18n("Robert Gruber") , ki18n( "SnippetPart, debugger and usability patches" ), "rgruber@users.sourceforge.net" );
|
||||
aboutData.addCredit( ki18n("Dukju Ahn"), ki18n( "Subversion plugin, Custom Make Manager, Overall improvements" ), "dukjuahn@gmail.com" );
|
||||
aboutData.addCredit( ki18n("Harald Fernengel"), ki18n( "Ported to Qt 3, patches, valgrind, diff and perforce support" ), "harry@kdevelop.org" );
|
||||
aboutData.addCredit( ki18n("Roberto Raggi"), ki18n( "C++ parser" ), "roberto@kdevelop.org" );
|
||||
aboutData.addCredit( ki18n("The KWrite authors"), ki18n( "Kate editor component" ), "kwrite-devel@kde.org" );
|
||||
aboutData.addCredit( ki18n("Nokia Corporation/Qt Software"), ki18n( "Designer code" ), "qt-info@nokia.com" );
|
||||
|
||||
aboutData.addCredit( ki18n("Contributors to older versions:"), KLocalizedString(), "" );
|
||||
aboutData.addCredit( ki18n("The KHTML authors"), ki18n( "HTML documentation component" ), "kfm-devel@kde.org" );
|
||||
aboutData.addCredit( ki18n("Bernd Gehrmann"), ki18n( "Initial idea, basic architecture, much initial source code" ), "bernd@kdevelop.org" );
|
||||
aboutData.addCredit( ki18n("Caleb Tennis"), ki18n( "KTabBar, bugfixes" ), "caleb@aei-tech.com" );
|
||||
aboutData.addCredit( ki18n("Richard Dale"), ki18n( "Java & Objective C support" ), "Richard_Dale@tipitina.demon.co.uk" );
|
||||
aboutData.addCredit( ki18n("John Birch"), ki18n( "Debugger frontend" ), "jbb@kdevelop.org" );
|
||||
aboutData.addCredit( ki18n("Sandy Meier"), ki18n( "PHP support, context menu stuff" ), "smeier@kdevelop.org" );
|
||||
aboutData.addCredit( ki18n("Kurt Granroth"), ki18n( "KDE application templates" ), "kurth@granroth.org" );
|
||||
aboutData.addCredit( ki18n("Ian Reinhart Geiser"), ki18n( "Dist part, bash support, application templates" ), "geiseri@yahoo.com" );
|
||||
aboutData.addCredit( ki18n("Matthias Hoelzer-Kluepfel"), ki18n( "Several components, htdig indexing" ), "hoelzer@kde.org" );
|
||||
aboutData.addCredit( ki18n("Victor Roeder"), ki18n( "Help with Automake manager and persistent class store" ), "victor_roeder@gmx.de" );
|
||||
aboutData.addCredit( ki18n("Simon Hausmann"), ki18n( "Help with KParts infrastructure" ), "hausmann@kde.org" );
|
||||
aboutData.addCredit( ki18n("Oliver Kellogg"), ki18n( "Ada support" ), "okellogg@users.sourceforge.net" );
|
||||
aboutData.addCredit( ki18n("Jakob Simon-Gaarde"), ki18n( "QMake projectmanager" ), "jsgaarde@tdcspace.dk" );
|
||||
aboutData.addCredit( ki18n("Falk Brettschneider"), ki18n( "MDI modes, QEditor, bugfixes" ), "falkbr@kdevelop.org" );
|
||||
aboutData.addCredit( ki18n("Mario Scalas"), ki18n( "PartExplorer, redesign of CvsPart, patches, bugs(fixes)" ), "mario.scalas@libero.it" );
|
||||
aboutData.addCredit( ki18n("Jens Dagerbo"), ki18n( "Replace, Bookmarks, FileList and CTags2 plugins. Overall improvements and patches" ), "jens.dagerbo@swipnet.se" );
|
||||
aboutData.addCredit( ki18n("Julian Rockey"), ki18n( "Filecreate part and other bits and patches" ), "linux@jrockey.com" );
|
||||
aboutData.addCredit( ki18n("Ajay Guleria"), ki18n( "ClearCase support" ), "ajay_guleria@yahoo.com" );
|
||||
aboutData.addCredit( ki18n("Marek Janukowicz"), ki18n( "Ruby support" ), "child@t17.ds.pwr.wroc.pl" );
|
||||
aboutData.addCredit( ki18n("Robert Moniot"), ki18n( "Fortran documentation" ), "moniot@fordham.edu" );
|
||||
aboutData.addCredit( ki18n("Ka-Ping Yee"), ki18n( "Python documentation utility" ), "ping@lfw.org" );
|
||||
aboutData.addCredit( ki18n("Dimitri van Heesch"), ki18n( "Doxygen wizard" ), "dimitri@stack.nl" );
|
||||
aboutData.addCredit( ki18n("Hugo Varotto"), ki18n( "Fileselector component" ), "hugo@varotto-usa.com" );
|
||||
aboutData.addCredit( ki18n("Matt Newell"), ki18n( "Fileselector component" ), "newellm@proaxis.com" );
|
||||
aboutData.addCredit( ki18n("Daniel Engelschalt"), ki18n( "C++ code completion, persistent class store" ), "daniel.engelschalt@gmx.net" );
|
||||
aboutData.addCredit( ki18n("Stephane Ancelot"), ki18n( "Patches" ), "sancelot@free.fr" );
|
||||
aboutData.addCredit( ki18n("Jens Zurheide"), ki18n( "Patches" ), "jens.zurheide@gmx.de" );
|
||||
aboutData.addCredit( ki18n("Luc Willems"), ki18n( "Help with Perl support" ), "Willems.luc@pandora.be" );
|
||||
aboutData.addCredit( ki18n("Marcel Turino"), ki18n( "Documentation index view" ), "M.Turino@gmx.de" );
|
||||
aboutData.addCredit( ki18n("Yann Hodique"), ki18n( "Patches" ), "Yann.Hodique@lifl.fr" );
|
||||
aboutData.addCredit( ki18n("Tobias Gl\303\244\303\237er") , ki18n( "Documentation Finder, qmake projectmanager patches, usability improvements, bugfixes ... " ), "tobi.web@gmx.de" );
|
||||
aboutData.addCredit( ki18n("Andreas Koepfle") , ki18n( "QMake project manager patches" ), "koepfle@ti.uni-mannheim.de" );
|
||||
aboutData.addCredit( ki18n("Sascha Cunz") , ki18n( "Cleanup and bugfixes for qEditor, AutoMake and much other stuff" ), "mail@sacu.de" );
|
||||
aboutData.addCredit( ki18n("Zoran Karavla"), ki18n( "Artwork for the ruby language" ), "webmaster@the-error.net", "http://the-error.net" );
|
||||
|
||||
|
||||
//we can't use KCmdLineArgs as it doesn't allow arguments for the debugee
|
||||
//so lookup the --debug switch and eat everything behind by decrementing argc
|
||||
//debugArgs is filled with args after --debug <debuger>
|
||||
QStringList debugArgs;
|
||||
QString debugeeName;
|
||||
{
|
||||
bool debugFound = false;
|
||||
int c = argc;
|
||||
for (int i=0; i < c; ++i) {
|
||||
if (debugFound) {
|
||||
debugArgs << argv[i];
|
||||
} else if (qstrcmp(argv[i], "--debug") == 0 || qstrcmp(argv[i], "-d") == 0) {
|
||||
if (argc <= i+1) {
|
||||
argc = i + 1;
|
||||
} else {
|
||||
i++;
|
||||
argc = i + 1;
|
||||
}
|
||||
debugFound = true;
|
||||
} else if (QString(argv[i]).startsWith("--debug=")) {
|
||||
argc = i + 1;
|
||||
debugFound = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
KCmdLineArgs::init( argc, argv, &aboutData );
|
||||
KCmdLineOptions options;
|
||||
options.add("n")
|
||||
.add("new-session <name>", ki18n("Open KDevelop with a new session using the given name."));
|
||||
options.add("s")
|
||||
.add("open-session <session>", ki18n("Open KDevelop with the given session.\n"
|
||||
"You can pass either hash or the name of the session." ));
|
||||
options.add("ps").add("pick-session", ki18n("Shows all available sessions and lets you select one to open." ));
|
||||
options.add("pss").add("pick-session-shell", ki18n("List all available sessions on shell and lets you select one to open." ));
|
||||
options.add("l")
|
||||
.add("list-sessions", ki18n( "List available sessions and quit." ));
|
||||
options.add("p")
|
||||
.add("project <project>", ki18n( "Open KDevelop and load the given project." ));
|
||||
options.add("d")
|
||||
.add("debug <debugger>",
|
||||
ki18n( "Start debugging an application in KDevelop with the given debugger.\n"
|
||||
"The binary that should be debugged must follow - including arguments.\n"
|
||||
"Example: kdevelop --debug gdb myapp --foo bar"));
|
||||
|
||||
options.add("pid");
|
||||
|
||||
options.add("+files", ki18n( "Files to load" ));
|
||||
|
||||
options.add(":", ki18n("Deprecated options:"));
|
||||
options.add("sessions", ki18n( "Same as -l / --list-sessions" ));
|
||||
options.add("cs <name>", ki18n( "Same as -n / --new-session" ));
|
||||
|
||||
KCmdLineArgs::addCmdLineOptions( options );
|
||||
KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
|
||||
KDevelopApplication app;
|
||||
|
||||
// The session-controller needs to arguments to eventually pass them to newly opened sessions
|
||||
KDevelop::SessionController::setArguments(argc, argv);
|
||||
|
||||
if(args->isSet("sessions") || args->isSet("list-sessions"))
|
||||
{
|
||||
QTextStream qout(stdout);
|
||||
qout << endl << ki18n("Available sessions (use '-s HASH' or '-s NAME' to open a specific one):").toString() << endl << endl;
|
||||
qout << QString("%1").arg(ki18n("Hash").toString(), -38) << '\t' << ki18n("Name: Opened Projects").toString() << endl;
|
||||
foreach(const KDevelop::SessionInfo& si, KDevelop::SessionController::availableSessionInfo())
|
||||
{
|
||||
if ( si.name.isEmpty() && si.projects.isEmpty() ) {
|
||||
continue;
|
||||
}
|
||||
qout << si.uuid.toString() << '\t' << si.description;
|
||||
|
||||
if(KDevelop::SessionController::isSessionRunning(si.uuid.toString()))
|
||||
qout << " " << i18n("[running]");
|
||||
|
||||
qout << endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Handle extra arguments, which stand for files to open
|
||||
QVector<File> initialFiles;
|
||||
for ( int i = 0; i < args->count(); i++ ) {
|
||||
initialFiles.append(parseFilename(args->arg(i)));
|
||||
}
|
||||
if ( ! initialFiles.isEmpty() && ! args->isSet("open-session") && ! args->isSet("new-session") )
|
||||
{
|
||||
int pid = getRunningSessionPid();
|
||||
if ( pid > 0 ) {
|
||||
return openFilesInRunningInstance(initialFiles, pid);
|
||||
}
|
||||
// else there are no running sessions, and the generated list of files will be opened below.
|
||||
}
|
||||
|
||||
// if empty, restart kdevelop with last active session, see SessionController::defaultSessionId
|
||||
QString session;
|
||||
|
||||
if(args->isSet("pss"))
|
||||
{
|
||||
QTextStream qerr(stderr);
|
||||
QList<KDevelop::SessionInfo> candidates;
|
||||
foreach(const KDevelop::SessionInfo& si, KDevelop::SessionController::availableSessionInfo())
|
||||
if( (!si.name.isEmpty() || !si.projects.isEmpty() || args->isSet("pid")) &&
|
||||
(!args->isSet("pid") || KDevelop::SessionController::isSessionRunning(si.uuid.toString())))
|
||||
candidates << si;
|
||||
|
||||
if(candidates.size() == 0)
|
||||
{
|
||||
qerr << "no session available" << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(candidates.size() == 1 && args->isSet("pid"))
|
||||
{
|
||||
session = candidates[0].uuid.toString();
|
||||
}else{
|
||||
for(int i = 0; i < candidates.size(); ++i)
|
||||
qerr << "[" << i << "]: " << candidates[i].description << endl;
|
||||
|
||||
int chosen;
|
||||
std::cin >> chosen;
|
||||
if(std::cin.good() && (chosen >= 0 && chosen < candidates.size()))
|
||||
{
|
||||
session = candidates[chosen].uuid.toString();
|
||||
}else{
|
||||
qerr << "invalid selection" << endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(args->isSet("ps"))
|
||||
{
|
||||
bool onlyRunning = args->isSet("pid");
|
||||
session = KDevelop::SessionController::showSessionChooserDialog(i18n("Select the session you would like to use"), onlyRunning);
|
||||
if(session.isEmpty())
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( args->isSet("debug") ) {
|
||||
if ( debugArgs.isEmpty() ) {
|
||||
QTextStream qerr(stderr);
|
||||
qerr << endl << i18nc("@info:shell", "Specify the binary you want to debug.") << endl;
|
||||
return 1;
|
||||
}
|
||||
debugeeName = i18n("Debug %1", KUrl( debugArgs.first() ).fileName());
|
||||
session = debugeeName;
|
||||
} else if ( args->isSet("cs") || args->isSet("new-session") )
|
||||
{
|
||||
session = args->isSet("cs") ? args->getOption("cs") : args->getOption("new-session");
|
||||
foreach(const KDevelop::SessionInfo& si, KDevelop::SessionController::availableSessionInfo())
|
||||
{
|
||||
if ( session == si.name ) {
|
||||
QTextStream qerr(stderr);
|
||||
qerr << endl << i18n("A session with the name %1 exists already. Use the -s switch to open it.", session) << endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
// session doesn't exist, we can create it
|
||||
} else if ( args->isSet("open-session") ) {
|
||||
session = args->getOption("open-session");
|
||||
//If there is a session and a project with the same name, always open the session
|
||||
//regardless of the order encountered
|
||||
QString projectAsSession;
|
||||
bool found = false;
|
||||
foreach(const KDevelop::SessionInfo& si, KDevelop::SessionController::availableSessionInfo())
|
||||
{
|
||||
if ( session == si.name || session == si.uuid.toString() ) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
else if (projectAsSession.isEmpty()) {
|
||||
foreach(const KUrl& k, si.projects)
|
||||
{
|
||||
QString fn(k.fileName());
|
||||
fn = fn.left(fn.indexOf('.'));
|
||||
if ( session == fn )
|
||||
projectAsSession = si.uuid;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( !found ) {
|
||||
if ( projectAsSession.isEmpty() ) {
|
||||
QTextStream qerr(stderr);
|
||||
qerr << endl << i18n("Cannot open unknown session %1. See --sessions switch for available sessions or use -cs to create a new one.", session) << endl;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
session = projectAsSession;
|
||||
}
|
||||
}
|
||||
|
||||
QList<KDevelop::SessionInfo> sessions = KDevelop::SessionController::availableSessionInfo();
|
||||
const KDevelop::SessionInfo* sessionData = findSessionInList( sessions, session );
|
||||
|
||||
if(args->isSet("pid")) {
|
||||
if( !sessionData ) {
|
||||
kError() << "session not given or does not exist";
|
||||
return 5;
|
||||
}
|
||||
|
||||
KDevelop::SessionRunInfo sessionInfo = KDevelop::SessionController::sessionRunInfo( sessionData->uuid.toString() );
|
||||
if (!sessionInfo.isRunning) {
|
||||
kError() << session << sessionData->name << "is not running";
|
||||
return 5;
|
||||
} else {
|
||||
// Print the PID and we're ready
|
||||
std::cout << sessionInfo.holderPid << std::endl;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
KDevIDEExtension::init();
|
||||
|
||||
KDevSplashScreen* splash = 0;
|
||||
if ( !QProcessEnvironment::systemEnvironment().contains("KDEV_DISABLE_SPLASH") ) {
|
||||
splash = new KDevSplashScreen;
|
||||
splash->show();
|
||||
splash->repaint();
|
||||
app.processEvents();
|
||||
}
|
||||
|
||||
if(!Core::initialize(splash, Core::Default, session))
|
||||
return 5;
|
||||
|
||||
KGlobal::locale()->insertCatalog( Core::self()->componentData().catalogName() );
|
||||
Core* core = Core::self();
|
||||
|
||||
QStringList projectNames = args->getOptionList("project");
|
||||
if(!projectNames.isEmpty())
|
||||
{
|
||||
foreach(const QString& p, projectNames)
|
||||
{
|
||||
QFileInfo info( p );
|
||||
if( info.suffix() == "kdev4" ) {
|
||||
// make sure the project is not already opened by the session controller
|
||||
bool shouldOpen = true;
|
||||
KUrl url(info.absoluteFilePath());
|
||||
foreach(KDevelop::IProject* p, core->projectController()->projects()) {
|
||||
if (p->projectFileUrl() == url) {
|
||||
shouldOpen = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (shouldOpen) {
|
||||
core->projectController()->openProject( url );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( args->isSet("debug") ) {
|
||||
Q_ASSERT( !debugeeName.isEmpty() );
|
||||
QString launchName = debugeeName;
|
||||
|
||||
KDevelop::LaunchConfiguration* launch = 0;
|
||||
kDebug() << launchName;
|
||||
foreach (KDevelop::LaunchConfiguration *l, core->runControllerInternal()->launchConfigurationsInternal()) {
|
||||
kDebug() << l->name();
|
||||
if (l->name() == launchName) {
|
||||
launch = l;
|
||||
}
|
||||
}
|
||||
|
||||
KDevelop::LaunchConfigurationType *type = 0;
|
||||
foreach (KDevelop::LaunchConfigurationType *t, core->runController()->launchConfigurationTypes()) {
|
||||
kDebug() << t->id();
|
||||
if (t->id() == "Native Application") {
|
||||
type = t;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!type) {
|
||||
QTextStream qerr(stderr);
|
||||
qerr << endl << i18n("Cannot find native launch configuration type") << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (launch && launch->type()->id() != "Native Application") launch = 0;
|
||||
if (launch && launch->launcherForMode("debug") != args->getOption("debug")) launch = 0;
|
||||
if (!launch) {
|
||||
kDebug() << launchName << "not found, creating a new one";
|
||||
QPair<QString,QString> launcher;
|
||||
launcher.first = "debug";
|
||||
foreach (KDevelop::ILauncher *l, type->launchers()) {
|
||||
if (l->id() == args->getOption("debug")) {
|
||||
if (l->supportedModes().contains("debug")) {
|
||||
launcher.second = l->id();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (launcher.second.isEmpty()) {
|
||||
QTextStream qerr(stderr);
|
||||
qerr << endl << i18n("Cannot find launcher %1", args->getOption("debug")) << endl;
|
||||
return 1;
|
||||
}
|
||||
KDevelop::ILaunchConfiguration* ilaunch = core->runController()->createLaunchConfiguration(type, launcher, 0, launchName);
|
||||
launch = dynamic_cast<KDevelop::LaunchConfiguration*>(ilaunch);
|
||||
}
|
||||
|
||||
type->configureLaunchFromCmdLineArguments(launch->config(), debugArgs);
|
||||
launch->config().writeEntry("Break on Start", true);
|
||||
core->runControllerInternal()->setDefaultLaunch(launch);
|
||||
|
||||
core->runControllerInternal()->execute("debug", launch);
|
||||
} else {
|
||||
foreach ( const File& file, initialFiles ) {
|
||||
if(!core->documentController()->openDocument(file.first, KTextEditor::Cursor(file.second, 0))) {
|
||||
kWarning() << i18n("Could not open %1", file.first);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef WITH_WELCOMEPAGE
|
||||
// make it possible to disable the welcome page, useful for valgrind runs e.g.
|
||||
if (!QProcessEnvironment::systemEnvironment().contains("KDEV_DISABLE_WELCOMEPAGE")) {
|
||||
trySetupWelcomePageView();
|
||||
}
|
||||
#endif
|
||||
return app.exec();
|
||||
}
|
3
kdevelop/app/plasma/CMakeLists.txt
Normal file
3
kdevelop/app/plasma/CMakeLists.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
add_subdirectory(dataengine)
|
||||
add_subdirectory(applet)
|
||||
add_subdirectory(runner)
|
6
kdevelop/app/plasma/applet/CMakeLists.txt
Normal file
6
kdevelop/app/plasma/applet/CMakeLists.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
project(kdevelopsessions)
|
||||
|
||||
install(DIRECTORY package/
|
||||
DESTINATION ${DATA_INSTALL_DIR}/plasma/plasmoids/kdevelopsessions)
|
||||
|
||||
install(FILES package/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR} RENAME plasma-applet-kdevelopsessions.desktop)
|
3
kdevelop/app/plasma/applet/Messages.sh
Normal file
3
kdevelop/app/plasma/applet/Messages.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#! /usr/bin/env bash
|
||||
# only need to change the name of the applet
|
||||
$XGETTEXT `find . -name \*.qml` -L Java -o $podir/plasma_applet_kdevelopsessions.pot
|
|
@ -0,0 +1,184 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) 2012 by Eike Hein <hein@kde.org> *
|
||||
* Copyright (C) 2011, 2012 by Shaun Reich <shaun.reich@kdemail.net> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
*****************************************************************************/
|
||||
|
||||
import QtQuick 1.1
|
||||
import org.kde.qtextracomponents 0.1
|
||||
|
||||
import org.kde.plasma.core 0.1 as PlasmaCore
|
||||
import org.kde.plasma.components 0.1 as PlasmaComponents
|
||||
|
||||
Item {
|
||||
id: kdevelopSessions
|
||||
|
||||
property int minimumWidth: 200
|
||||
property int minimumHeight: 150
|
||||
|
||||
function popupEventSlot(shown) {
|
||||
if(shown)
|
||||
view.forceActiveFocus();
|
||||
}
|
||||
|
||||
PlasmaCore.DataSource {
|
||||
id: sessionsSource
|
||||
engine: "org.kde.kdevelopsessions"
|
||||
onSourceAdded: connectSource(source)
|
||||
onSourceRemoved: disconnectSource(source)
|
||||
|
||||
Component.onCompleted: connectedSources = sources
|
||||
}
|
||||
|
||||
PlasmaCore.DataModel {
|
||||
id: sessionsModel
|
||||
dataSource: sessionsSource
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
plasmoid.popupIcon = "kdevelop";
|
||||
plasmoid.aspectRatioMode = IgnoreAspectRatio;
|
||||
plasmoid.popupEvent.connect('popupEvent', popupEventSlot);
|
||||
}
|
||||
|
||||
PlasmaCore.Svg {
|
||||
id: lineSvg
|
||||
imagePath: "widgets/line"
|
||||
}
|
||||
|
||||
Row {
|
||||
id: headerRow
|
||||
anchors { left: parent.left; right: parent.right }
|
||||
|
||||
QIconItem {
|
||||
id: appIcon
|
||||
icon: QIcon("kdevelop")
|
||||
width: 32
|
||||
height: 32
|
||||
}
|
||||
|
||||
PlasmaComponents.Label {
|
||||
id: header
|
||||
text: i18n("KDevelop Sessions")
|
||||
horizontalAlignment: Text.AlignHCenter | Text.AlignVCenter
|
||||
width: parent.width - appIcon.width * 2
|
||||
height: parent.height
|
||||
}
|
||||
}
|
||||
|
||||
PlasmaCore.SvgItem {
|
||||
id: separator
|
||||
|
||||
anchors { left: headerRow.left; right: headerRow.right; top: headerRow.bottom }
|
||||
svg: lineSvg
|
||||
elementId: "horizontal-line"
|
||||
height: lineSvg.elementSize("horizontal-line").height
|
||||
}
|
||||
|
||||
Text {
|
||||
id: textMetric
|
||||
visible: false
|
||||
// translated but not used, we just need length/height
|
||||
text: i18n("Arbitrary String Which Says Something")
|
||||
}
|
||||
|
||||
ListView {
|
||||
id: view
|
||||
|
||||
anchors { left: parent.left; right: scrollBar.left; bottom: parent.bottom; top: separator.bottom; topMargin: 5 }
|
||||
|
||||
model: PlasmaCore.SortFilterModel {
|
||||
id: filterModel
|
||||
sourceModel: sessionsModel
|
||||
sortRole: "sessionString"
|
||||
}
|
||||
clip: true
|
||||
focus: true
|
||||
|
||||
delegate: Item {
|
||||
id: listdelegate
|
||||
height: textMetric.paintedHeight * 2
|
||||
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
function openSession() {
|
||||
var service = sessionsSource.serviceForSource(model["DataEngineSource"])
|
||||
var operation = service.operationDescription("open")
|
||||
var job = service.startOperationCall(operation)
|
||||
}
|
||||
|
||||
PlasmaComponents.Label {
|
||||
id: sessionText
|
||||
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
leftMargin: 10
|
||||
rightMargin: 10
|
||||
}
|
||||
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
text: model.sessionString
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
height: parent.height + 15
|
||||
anchors { left: parent.left; right: parent.right;}
|
||||
hoverEnabled: true
|
||||
|
||||
onClicked: {
|
||||
openSession();
|
||||
}
|
||||
|
||||
onEntered: {
|
||||
view.currentIndex = index
|
||||
view.highlightItem.opacity = 1
|
||||
}
|
||||
|
||||
onExited: {
|
||||
view.highlightItem.opacity = 0
|
||||
}
|
||||
}
|
||||
Keys.onPressed: {
|
||||
if (event.key == Qt.Key_Enter || event.key == Qt.Key_Return)
|
||||
openSession();
|
||||
}
|
||||
}
|
||||
|
||||
highlight: PlasmaComponents.Highlight {
|
||||
hover: true
|
||||
}
|
||||
|
||||
highlightMoveDuration: 250
|
||||
highlightMoveSpeed: 1
|
||||
}
|
||||
|
||||
PlasmaComponents.ScrollBar {
|
||||
id: scrollBar
|
||||
|
||||
anchors { bottom: parent.bottom; top: separator.top; right: parent.right }
|
||||
|
||||
orientation: Qt.Vertical
|
||||
stepSize: view.count / 4
|
||||
scrollButtonInterval: view.count / 4
|
||||
|
||||
flickableItem: view
|
||||
}
|
||||
}
|
88
kdevelop/app/plasma/applet/package/metadata.desktop
Normal file
88
kdevelop/app/plasma/applet/package/metadata.desktop
Normal file
|
@ -0,0 +1,88 @@
|
|||
[Desktop Entry]
|
||||
Name=KDevelop Sessions
|
||||
Name[bs]=KDevelop sesije
|
||||
Name[ca]=Sessions del KDevelop
|
||||
Name[ca@valencia]=Sessions del KDevelop
|
||||
Name[cs]=relace KDevelop
|
||||
Name[da]=KDevelop-sessioner
|
||||
Name[de]=KDevelop-Sitzungen
|
||||
Name[el]=Συνεδρίες KDevelop
|
||||
Name[en_GB]=KDevelop Sessions
|
||||
Name[es]=Sesiones de KDevelop
|
||||
Name[et]=KDevelopi seansid
|
||||
Name[fi]=KDevelop-istunnot
|
||||
Name[fr]=Sessions KDevelop
|
||||
Name[ga]=Seisiúin KDevelop
|
||||
Name[gl]=Sesións de KDevelop
|
||||
Name[hu]=KDevelop munkamenetek
|
||||
Name[it]=Sessioni KDevelop
|
||||
Name[kk]=KDevelop сеанстары
|
||||
Name[lt]=KDevelop seansas
|
||||
Name[nb]=KDevelop-økter
|
||||
Name[nds]=KDevelop-Törns
|
||||
Name[nl]=KDevelop sessies
|
||||
Name[pl]=Sesje KDevelop
|
||||
Name[pt]=Sessões do KDevelop
|
||||
Name[pt_BR]=Sessões do KDevelop
|
||||
Name[ru]=Сеансы KDevelop
|
||||
Name[sk]=Sedenia KDevelop
|
||||
Name[sl]=Seje za KDevelop
|
||||
Name[sv]=KDevelop-sessioner
|
||||
Name[tr]=KDevelop Oturumları
|
||||
Name[uk]=Сеанси KDevelop
|
||||
Name[x-test]=xxKDevelop Sessionsxx
|
||||
Name[zh_CN]=KDevelop 会话
|
||||
Name[zh_TW]=KDevelop 工作階段
|
||||
Comment=List and launch KDevelop sessions
|
||||
Comment[bs]=Listanje i pokretanje KDevelop sesija
|
||||
Comment[ca]=Llista i inicia sessions del KDevelop
|
||||
Comment[ca@valencia]=Llista i inicia sessions del KDevelop
|
||||
Comment[cs]=Vypsat a spustit sezení KDevelop
|
||||
Comment[da]=Oplist og kør KDevelop-sessioner
|
||||
Comment[de]=KDevelop-Sitzungen anzeigen und starten
|
||||
Comment[el]=Καταγραφή και έναρξη συνεδριών KDevelop
|
||||
Comment[en_GB]=List and launch KDevelop sessions
|
||||
Comment[es]=Listar y lanzar sesiones de KDevelop
|
||||
Comment[et]=KDevelopi seansside nimekiri ja käivitamine
|
||||
Comment[fi]=Luettelee ja käynnistää KDevelop-istuntoja
|
||||
Comment[fr]=Liste et lance des sessions KDevelop
|
||||
Comment[ga]=Taispeáin agus tosaigh seisiúin KDevelop
|
||||
Comment[gl]=Lista e inicia sesións do KDevelop
|
||||
Comment[hu]=KDevelop munkamenetek listázása és indítása
|
||||
Comment[it]=Elenca e lancia le sessioni di KDevelop
|
||||
Comment[kk]=KDevelop сеанстарын тізімдеп жегу
|
||||
Comment[nb]=List opp og start KDevelop-økter
|
||||
Comment[nl]=Maak een lijst van en start KDevelop sessies
|
||||
Comment[pl]=Utwórz listę i uruchom sesje KDevelop
|
||||
Comment[pt]=Listar e lançar sessões do KDevelop
|
||||
Comment[pt_BR]=Listar e lançar sessões do KDevelop
|
||||
Comment[ru]=Просмотр списка и запуск сеансов KDevelop
|
||||
Comment[sk]=Vypísať a spustiť sedenia KDevelop
|
||||
Comment[sl]=Seznam in zagon sej za KDevelop
|
||||
Comment[sv]=Lista och starta KDevelop-sessioner
|
||||
Comment[tr]=KDevelop oturumlarını listele ve başlat
|
||||
Comment[uk]=Показ списку і запуск сеансів KDevelop
|
||||
Comment[x-test]=xxList and launch KDevelop sessionsxx
|
||||
Comment[zh_CN]=列出并启动 KDevelop 会话
|
||||
Comment[zh_TW]=列出並啟動 KDevelop 工作階段
|
||||
|
||||
Icon=kdevelop
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=Plasma/Applet,Plasma/PopupApplet
|
||||
|
||||
X-Plasma-API=declarativeappletscript
|
||||
X-Plasma-MainScript=ui/kdevelopsessions.qml
|
||||
X-Plasma-DefaultSize=290,340
|
||||
|
||||
X-KDE-PluginInfo-Author=Eike Hein
|
||||
X-KDE-PluginInfo-Email=hein@kde.org
|
||||
X-KDE-PluginInfo-Name=kdevelopsessions
|
||||
X-KDE-PluginInfo-Version=0.1
|
||||
X-KDE-PluginInfo-Category=Utilities
|
||||
X-KDE-PluginInfo-Depends=
|
||||
X-KDE-PluginInfo-License=GPL
|
||||
X-KDE-PluginInfo-EnabledByDefault=true
|
||||
|
||||
#X-Plasma-Requires-FileDialog=Unused
|
||||
#X-Plasma-Requires-LaunchApp=Required
|
||||
#X-Plasma-NotificationArea=true
|
12
kdevelop/app/plasma/dataengine/CMakeLists.txt
Normal file
12
kdevelop/app/plasma/dataengine/CMakeLists.txt
Normal file
|
@ -0,0 +1,12 @@
|
|||
set(kdevelopsessionsengine_SRCS
|
||||
kdevelopsessionsengine.cpp
|
||||
kdevelopsessionsservice.cpp
|
||||
)
|
||||
|
||||
kde4_add_plugin(plasma_engine_kdevelopsessions ${kdevelopsessionsengine_SRCS})
|
||||
target_link_libraries(plasma_engine_kdevelopsessions ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS})
|
||||
|
||||
install(TARGETS plasma_engine_kdevelopsessions DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||
install(FILES plasma-dataengine-kdevelopsessions.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
||||
install(FILES org.kde.plasma.dataengine.kdevelopsessions.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services)
|
||||
|
2
kdevelop/app/plasma/dataengine/Messages.sh
Executable file
2
kdevelop/app/plasma/dataengine/Messages.sh
Executable file
|
@ -0,0 +1,2 @@
|
|||
#! /usr/bin/env bash
|
||||
$XGETTEXT *.cpp -o $podir/plasma_engine_kdevelopsessions.pot
|
141
kdevelop/app/plasma/dataengine/kdevelopsessionsengine.cpp
Normal file
141
kdevelop/app/plasma/dataengine/kdevelopsessionsengine.cpp
Normal file
|
@ -0,0 +1,141 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) 2012 by Eike Hein <hein@kde.org> *
|
||||
* Copyright (C) 2011 by Shaun Reich <shaun.reich@kdemail.net> *
|
||||
* Copyright (C) 2008 by Montel Laurent <montel@kde.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
*****************************************************************************/
|
||||
|
||||
#include "kdevelopsessionsengine.h"
|
||||
#include "kdevelopsessionsservice.h"
|
||||
|
||||
#include <KStandardDirs>
|
||||
#include <KDirWatch>
|
||||
#include <QFileInfo>
|
||||
#include <QDir>
|
||||
|
||||
KDevelopSessionsEngine::KDevelopSessionsEngine(QObject *parent, const QVariantList &args)
|
||||
: Plasma::DataEngine(parent, args),
|
||||
m_dirWatch(0)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
KDevelopSessionsEngine::~KDevelopSessionsEngine()
|
||||
{
|
||||
}
|
||||
|
||||
void KDevelopSessionsEngine::init()
|
||||
{
|
||||
m_dirWatch = new KDirWatch( this );
|
||||
|
||||
const QStringList sessionDirs = KGlobal::dirs()->findDirs( "data", "kdevelop/sessions/" );
|
||||
|
||||
for ( int i = 0; i < sessionDirs.count(); ++i )
|
||||
m_dirWatch->addDir( sessionDirs[i], KDirWatch::WatchSubDirs );
|
||||
|
||||
connect(m_dirWatch, SIGNAL(dirty(QString)), this, SLOT(updateSessions()));
|
||||
|
||||
updateSessions();
|
||||
}
|
||||
|
||||
Plasma::Service *KDevelopSessionsEngine::serviceForSource(const QString &source)
|
||||
{
|
||||
return new KDevelopSessionsService( this, source );
|
||||
}
|
||||
|
||||
void KDevelopSessionsEngine::updateSessions()
|
||||
{
|
||||
const QStringList sessionrcs = KGlobal::dirs()->findAllResources( "data", "kdevelop/sessions/*/sessionrc", KStandardDirs::NoDuplicates );
|
||||
|
||||
QHash<QString, Session> sessions;
|
||||
|
||||
QStringList::const_iterator it;
|
||||
|
||||
for (it = sessionrcs.constBegin(); it != sessionrcs.constEnd(); ++it)
|
||||
{
|
||||
KConfig cfg( *it, KConfig::SimpleConfig );
|
||||
|
||||
// Only consider sessions that have open projects.
|
||||
if ( cfg.hasGroup( "General Options" ) && !cfg.group( "General Options" ).readEntry( "Open Projects", "" ).isEmpty() )
|
||||
{
|
||||
Session session;
|
||||
session.hash = QFileInfo( *it ).dir().dirName();
|
||||
session.name = cfg.group( "" ).readEntry( "SessionName", "" );
|
||||
session.description = cfg.group( "" ).readEntry( "SessionPrettyContents", "" );
|
||||
|
||||
sessions.insert(session.hash, session);
|
||||
}
|
||||
}
|
||||
|
||||
QHash<QString, Session>::const_iterator it2;
|
||||
|
||||
for (it2 = sessions.constBegin(); it2 != sessions.constEnd(); ++it2)
|
||||
{
|
||||
const Session& session = it2.value();
|
||||
|
||||
if ( !m_currentSessions.contains( session.hash ) )
|
||||
{
|
||||
// Publish new session.
|
||||
|
||||
m_currentSessions.insert( session.hash, session );
|
||||
setData( session.hash, "sessionName", session.name );
|
||||
setData( session.hash, "sessionString", session.description );
|
||||
}
|
||||
else
|
||||
{
|
||||
// Publish data changes for older sessions.
|
||||
|
||||
Session oldSession( m_currentSessions.value(session.hash) );
|
||||
|
||||
bool modified = false;
|
||||
|
||||
if ( session.name != oldSession.name )
|
||||
{
|
||||
oldSession.name = session.name;
|
||||
modified = true;
|
||||
setData( session.hash, "sessionName", session.name );
|
||||
}
|
||||
|
||||
if ( session.description != oldSession.description )
|
||||
{
|
||||
oldSession.description = session.description;
|
||||
modified = true;
|
||||
setData( session.hash, "sessionString", session.description );
|
||||
}
|
||||
|
||||
if ( modified )
|
||||
m_currentSessions.insert( oldSession.hash, oldSession );
|
||||
}
|
||||
}
|
||||
|
||||
QHash<QString, Session>::iterator it3 = m_currentSessions.begin();
|
||||
|
||||
while ( it3 != m_currentSessions.end() )
|
||||
{
|
||||
const Session& session = it3.value();
|
||||
|
||||
if ( !sessions.contains( session.hash ) )
|
||||
{
|
||||
removeSource( session.hash );
|
||||
it3 = m_currentSessions.erase( it3 );
|
||||
}
|
||||
else
|
||||
++it3;
|
||||
}
|
||||
}
|
||||
|
||||
K_EXPORT_PLASMA_DATAENGINE(kdevelopsessionsengine, KDevelopSessionsEngine)
|
||||
|
||||
#include "moc_kdevelopsessionsengine.cpp"
|
54
kdevelop/app/plasma/dataengine/kdevelopsessionsengine.h
Normal file
54
kdevelop/app/plasma/dataengine/kdevelopsessionsengine.h
Normal file
|
@ -0,0 +1,54 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) 2012 by Eike Hein <hein@kde.org> *
|
||||
* Copyright (C) 2011 by Shaun Reich <shaun.reich@kdemail.net> *
|
||||
* Copyright (C) 2008 by Montel Laurent <montel@kde.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef KDEVELOPSESSIONSENGINE_H
|
||||
#define KDEVELOPSESSIONSENGINE_H
|
||||
|
||||
#include <Plasma/DataEngine>
|
||||
|
||||
struct Session
|
||||
{
|
||||
QString hash;
|
||||
QString name;
|
||||
QString description;
|
||||
};
|
||||
|
||||
class KDirWatch;
|
||||
|
||||
class KDevelopSessionsEngine : public Plasma::DataEngine
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KDevelopSessionsEngine(QObject *parent, const QVariantList &args);
|
||||
~KDevelopSessionsEngine();
|
||||
|
||||
void init();
|
||||
Plasma::Service *serviceForSource(const QString &source);
|
||||
|
||||
private Q_SLOTS:
|
||||
void updateSessions();
|
||||
|
||||
private:
|
||||
QHash<QString, Session> m_currentSessions;
|
||||
|
||||
KDirWatch *m_dirWatch;
|
||||
};
|
||||
|
||||
#endif
|
53
kdevelop/app/plasma/dataengine/kdevelopsessionsservice.cpp
Normal file
53
kdevelop/app/plasma/dataengine/kdevelopsessionsservice.cpp
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) 2012 by Eike Hein <hein@kde.org> *
|
||||
* Copyright (C) 2011 by Shaun Reich <shaun.reich@kdemail.net> *
|
||||
* Copyright (C) 2008 by Montel Laurent <montel@kde.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
*****************************************************************************/
|
||||
|
||||
#include "kdevelopsessionsservice.h"
|
||||
|
||||
#include <KToolInvocation>
|
||||
|
||||
KDevelopSessionsService::KDevelopSessionsService(QObject* parent, const QString& sessionName)
|
||||
: Plasma::Service(parent)
|
||||
{
|
||||
setName("org.kde.plasma.dataengine.kdevelopsessions");
|
||||
setDestination(sessionName);
|
||||
}
|
||||
|
||||
Plasma::ServiceJob* KDevelopSessionsService::createJob(const QString& operation, QMap<QString,QVariant>& parameters)
|
||||
{
|
||||
return new SessionJob(this, operation, parameters);
|
||||
}
|
||||
|
||||
SessionJob::SessionJob(KDevelopSessionsService *service, const QString &operation, const QMap<QString, QVariant> ¶meters)
|
||||
: Plasma::ServiceJob(service->destination(), operation, parameters, service)
|
||||
{
|
||||
}
|
||||
|
||||
void SessionJob::start()
|
||||
{
|
||||
if (operationName() == "open")
|
||||
{
|
||||
QStringList args;
|
||||
args << "--open-session" << destination();
|
||||
KToolInvocation::kdeinitExec("kdevelop", args);
|
||||
|
||||
setResult(true);
|
||||
}
|
||||
}
|
||||
|
||||
#include "moc_kdevelopsessionsservice.cpp"
|
46
kdevelop/app/plasma/dataengine/kdevelopsessionsservice.h
Normal file
46
kdevelop/app/plasma/dataengine/kdevelopsessionsservice.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) 2012 by Eike Hein <hein@kde.org> *
|
||||
* Copyright (C) 2011 by Shaun Reich <shaun.reich@kdemail.net> *
|
||||
* Copyright (C) 2008 by Montel Laurent <montel@kde.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef KDEVELOPSESSIONSSERVICE_H
|
||||
#define KDEVELOPSESSIONSSERVICE_H
|
||||
|
||||
#include <Plasma/Service>
|
||||
#include <Plasma/ServiceJob>
|
||||
|
||||
class KDevelopSessionsService : public Plasma::Service
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KDevelopSessionsService(QObject* parent, const QString& sessionName);
|
||||
|
||||
protected:
|
||||
Plasma::ServiceJob* createJob(const QString& operation, QMap<QString,QVariant>& parameters);
|
||||
};
|
||||
|
||||
class SessionJob : public Plasma::ServiceJob
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SessionJob(KDevelopSessionsService *service, const QString& operation, const QMap<QString, QVariant> ¶meters);
|
||||
void start();
|
||||
};
|
||||
|
||||
#endif
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE kcfg SYSTEM
|
||||
"http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfg>
|
||||
<group name="open">
|
||||
</group>
|
||||
</kcfg>
|
|
@ -0,0 +1,82 @@
|
|||
[Desktop Entry]
|
||||
Name=KDevelop Sessions
|
||||
Name[bs]=KDevelop sesije
|
||||
Name[ca]=Sessions del KDevelop
|
||||
Name[ca@valencia]=Sessions del KDevelop
|
||||
Name[cs]=relace KDevelop
|
||||
Name[da]=KDevelop-sessioner
|
||||
Name[de]=KDevelop-Sitzungen
|
||||
Name[el]=Συνεδρίες KDevelop
|
||||
Name[en_GB]=KDevelop Sessions
|
||||
Name[es]=Sesiones de KDevelop
|
||||
Name[et]=KDevelopi seansid
|
||||
Name[fi]=KDevelop-istunnot
|
||||
Name[fr]=Sessions KDevelop
|
||||
Name[ga]=Seisiúin KDevelop
|
||||
Name[gl]=Sesións de KDevelop
|
||||
Name[hu]=KDevelop munkamenetek
|
||||
Name[it]=Sessioni KDevelop
|
||||
Name[kk]=KDevelop сеанстары
|
||||
Name[lt]=KDevelop seansas
|
||||
Name[nb]=KDevelop-økter
|
||||
Name[nds]=KDevelop-Törns
|
||||
Name[nl]=KDevelop sessies
|
||||
Name[pl]=Sesje KDevelop
|
||||
Name[pt]=Sessões do KDevelop
|
||||
Name[pt_BR]=Sessões do KDevelop
|
||||
Name[ru]=Сеансы KDevelop
|
||||
Name[sk]=Sedenia KDevelop
|
||||
Name[sl]=Seje za KDevelop
|
||||
Name[sv]=KDevelop-sessioner
|
||||
Name[tr]=KDevelop Oturumları
|
||||
Name[uk]=Сеанси KDevelop
|
||||
Name[x-test]=xxKDevelop Sessionsxx
|
||||
Name[zh_CN]=KDevelop 会话
|
||||
Name[zh_TW]=KDevelop 工作階段
|
||||
Comment=List and launch KDevelop sessions
|
||||
Comment[bs]=Listanje i pokretanje KDevelop sesija
|
||||
Comment[ca]=Llista i inicia sessions del KDevelop
|
||||
Comment[ca@valencia]=Llista i inicia sessions del KDevelop
|
||||
Comment[cs]=Vypsat a spustit sezení KDevelop
|
||||
Comment[da]=Oplist og kør KDevelop-sessioner
|
||||
Comment[de]=KDevelop-Sitzungen anzeigen und starten
|
||||
Comment[el]=Καταγραφή και έναρξη συνεδριών KDevelop
|
||||
Comment[en_GB]=List and launch KDevelop sessions
|
||||
Comment[es]=Listar y lanzar sesiones de KDevelop
|
||||
Comment[et]=KDevelopi seansside nimekiri ja käivitamine
|
||||
Comment[fi]=Luettelee ja käynnistää KDevelop-istuntoja
|
||||
Comment[fr]=Liste et lance des sessions KDevelop
|
||||
Comment[ga]=Taispeáin agus tosaigh seisiúin KDevelop
|
||||
Comment[gl]=Lista e inicia sesións do KDevelop
|
||||
Comment[hu]=KDevelop munkamenetek listázása és indítása
|
||||
Comment[it]=Elenca e lancia le sessioni di KDevelop
|
||||
Comment[kk]=KDevelop сеанстарын тізімдеп жегу
|
||||
Comment[nb]=List opp og start KDevelop-økter
|
||||
Comment[nl]=Maak een lijst van en start KDevelop sessies
|
||||
Comment[pl]=Utwórz listę i uruchom sesje KDevelop
|
||||
Comment[pt]=Listar e lançar sessões do KDevelop
|
||||
Comment[pt_BR]=Listar e lançar sessões do KDevelop
|
||||
Comment[ru]=Просмотр списка и запуск сеансов KDevelop
|
||||
Comment[sk]=Vypísať a spustiť sedenia KDevelop
|
||||
Comment[sl]=Seznam in zagon sej za KDevelop
|
||||
Comment[sv]=Lista och starta KDevelop-sessioner
|
||||
Comment[tr]=KDevelop oturumlarını listele ve başlat
|
||||
Comment[uk]=Показ списку і запуск сеансів KDevelop
|
||||
Comment[x-test]=xxList and launch KDevelop sessionsxx
|
||||
Comment[zh_CN]=列出并启动 KDevelop 会话
|
||||
Comment[zh_TW]=列出並啟動 KDevelop 工作階段
|
||||
|
||||
Type=Service
|
||||
Icon=kdevelop
|
||||
|
||||
X-KDE-ServiceTypes=Plasma/DataEngine
|
||||
X-KDE-Library=plasma_engine_kdevelopsessions
|
||||
|
||||
X-KDE-PluginInfo-Author=Eike Hein
|
||||
X-KDE-PluginInfo-Email=hein@kde.org
|
||||
X-KDE-PluginInfo-Name=org.kde.kdevelopsessions
|
||||
X-KDE-PluginInfo-Version=0.1
|
||||
X-KDE-PluginInfo-Category=Utiltities
|
||||
X-KDE-PluginInfo-Depends=
|
||||
X-KDE-PluginInfo-License=GPL
|
||||
X-KDE-PluginInfo-EnabledByDefault=true
|
11
kdevelop/app/plasma/runner/CMakeLists.txt
Normal file
11
kdevelop/app/plasma/runner/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
set(krunner_kdevelopsessions_SRCS
|
||||
kdevelopsessions.cpp
|
||||
)
|
||||
|
||||
kde4_add_plugin(krunner_kdevelopsessions ${krunner_kdevelopsessions_SRCS})
|
||||
target_link_libraries(krunner_kdevelopsessions ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS})
|
||||
|
||||
install(TARGETS krunner_kdevelopsessions DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
install(FILES kdevelopsessions.desktop DESTINATION ${SERVICES_INSTALL_DIR})
|
||||
|
2
kdevelop/app/plasma/runner/Messages.sh
Executable file
2
kdevelop/app/plasma/runner/Messages.sh
Executable file
|
@ -0,0 +1,2 @@
|
|||
#! /usr/bin/env bash
|
||||
$XGETTEXT *.cpp -o $podir/plasma_runner_kdevelopsessions.pot
|
25
kdevelop/app/plasma/runner/README
Normal file
25
kdevelop/app/plasma/runner/README
Normal file
|
@ -0,0 +1,25 @@
|
|||
KDevelop Session Runner
|
||||
========================
|
||||
This Runner loads a list of KDevelop's sessions and matches
|
||||
KRunner's queries against it.
|
||||
|
||||
The matching goes as follows:
|
||||
|
||||
* You type "kdevelop" into the krunner interface, this KDevelop
|
||||
Session Runner adds all kdevelop sessions, with a low priority.
|
||||
(0.5)
|
||||
|
||||
* You type "kdevelop gnirrep" and the runner will find a session
|
||||
called "gnirrep", priority 1.0
|
||||
|
||||
* Typing just a part, such as "kdevelop gnirr" also results in a
|
||||
match, but lower priority (0.8)
|
||||
|
||||
* Typing just the (parts of) the name of the session will
|
||||
also match (the "kdevelop" in the query is optional).
|
||||
|
||||
All matching is case-insensitive.
|
||||
|
||||
Happy hacking!
|
||||
--
|
||||
sebas@kde.org
|
162
kdevelop/app/plasma/runner/kdevelopsessions.cpp
Normal file
162
kdevelop/app/plasma/runner/kdevelopsessions.cpp
Normal file
|
@ -0,0 +1,162 @@
|
|||
/*
|
||||
* Copyright 2008,2011 Sebastian Kügler <sebas@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "kdevelopsessions.h"
|
||||
|
||||
|
||||
#include <KDebug>
|
||||
#include <KDirWatch>
|
||||
#include <KStandardDirs>
|
||||
#include <KToolInvocation>
|
||||
#include <KIcon>
|
||||
#include <KConfig>
|
||||
#include <KConfigGroup>
|
||||
#include <KUrl>
|
||||
#include <KStringHandler>
|
||||
#include <QFile>
|
||||
|
||||
bool kdevelopsessions_runner_compare_sessions(const Session &s1, const Session &s2) {
|
||||
return KStringHandler::naturalCompare(s1.name, s2.name) == -1;
|
||||
}
|
||||
|
||||
KDevelopSessions::KDevelopSessions(QObject *parent, const QVariantList& args)
|
||||
: Plasma::AbstractRunner(parent, args)
|
||||
{
|
||||
kWarning() << "INIT KDEV";
|
||||
setObjectName(QLatin1String("KDevelop Sessions"));
|
||||
setIgnoredTypes(Plasma::RunnerContext::File | Plasma::RunnerContext::Directory | Plasma::RunnerContext::NetworkLocation);
|
||||
m_icon = KIcon(QLatin1String("kdevelop"));
|
||||
|
||||
loadSessions();
|
||||
|
||||
// listen for changes to the list of kdevelop sessions
|
||||
KDirWatch *historyWatch = new KDirWatch(this);
|
||||
const QStringList sessiondirs = KGlobal::dirs()->findDirs("data", QLatin1String("kdevelop/sessions/"));
|
||||
foreach (const QString &dir, sessiondirs) {
|
||||
historyWatch->addDir(dir);
|
||||
}
|
||||
connect(historyWatch,SIGNAL(dirty(QString)),this,SLOT(loadSessions()));
|
||||
connect(historyWatch,SIGNAL(created(QString)),this,SLOT(loadSessions()));
|
||||
connect(historyWatch,SIGNAL(deleted(QString)),this,SLOT(loadSessions()));
|
||||
|
||||
Plasma::RunnerSyntax s(QLatin1String(":q:"), i18n("Finds KDevelop sessions matching :q:."));
|
||||
s.addExampleQuery(QLatin1String("kdevelop :q:"));
|
||||
addSyntax(s);
|
||||
|
||||
setDefaultSyntax(Plasma::RunnerSyntax(QLatin1String("kdevelop"), i18n("Lists all the KDevelop editor sessions in your account.")));
|
||||
}
|
||||
|
||||
KDevelopSessions::~KDevelopSessions()
|
||||
{
|
||||
}
|
||||
|
||||
void KDevelopSessions::loadSessions()
|
||||
{
|
||||
m_sessions.clear();
|
||||
// Switch kdevelop session: -u
|
||||
// Should we add a match for this option or would that clutter the matches too much?
|
||||
const QStringList list = KGlobal::dirs()->findAllResources( "data", QLatin1String("kdevelop/sessions/*/sessionrc"), KStandardDirs::Recursive );
|
||||
foreach (const QString &sessionfile, list)
|
||||
{
|
||||
kWarning() << "NEW SESSION:" << sessionfile;
|
||||
Session session;
|
||||
session.id = sessionfile.section('/', -2, -2);
|
||||
KConfig cfg(sessionfile, KConfig::SimpleConfig);
|
||||
KConfigGroup group = cfg.group(QString());
|
||||
session.name = group.readEntry("SessionPrettyContents");;
|
||||
m_sessions << session;
|
||||
}
|
||||
qSort(m_sessions.begin(), m_sessions.end(), kdevelopsessions_runner_compare_sessions);
|
||||
}
|
||||
|
||||
void KDevelopSessions::match(Plasma::RunnerContext &context)
|
||||
{
|
||||
if (m_sessions.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QString term = context.query();
|
||||
if (term.length() < 3) {
|
||||
return;
|
||||
}
|
||||
|
||||
bool listAll = false;
|
||||
|
||||
if (term.startsWith(QLatin1String("kdevelop"), Qt::CaseInsensitive)) {
|
||||
if (term.trimmed().compare(QLatin1String("kdevelop"), Qt::CaseInsensitive) == 0) {
|
||||
listAll = true;
|
||||
term.clear();
|
||||
} else if (term.at(8) == QLatin1Char(' ') ) {
|
||||
term.remove(QLatin1String("kdevelop"), Qt::CaseInsensitive);
|
||||
term = term.trimmed();
|
||||
} else {
|
||||
term.clear();
|
||||
}
|
||||
}
|
||||
|
||||
if (term.isEmpty() && !listAll) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (const Session &session, m_sessions) {
|
||||
if (!context.isValid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (listAll || (!term.isEmpty() && session.name.contains(term, Qt::CaseInsensitive))) {
|
||||
Plasma::QueryMatch match(this);
|
||||
if (listAll) {
|
||||
// All sessions listed, but with a low priority
|
||||
match.setType(Plasma::QueryMatch::ExactMatch);
|
||||
match.setRelevance(0.8);
|
||||
} else {
|
||||
if (session.name.compare(term, Qt::CaseInsensitive) == 0) {
|
||||
// parameter to kdevelop matches session exactly, bump it up!
|
||||
match.setType(Plasma::QueryMatch::ExactMatch);
|
||||
match.setRelevance(1.0);
|
||||
} else {
|
||||
// fuzzy match of the session in "kdevelop $session"
|
||||
match.setType(Plasma::QueryMatch::PossibleMatch);
|
||||
match.setRelevance(0.8);
|
||||
}
|
||||
}
|
||||
match.setIcon(m_icon);
|
||||
match.setData(session.id);
|
||||
match.setText(session.name);
|
||||
match.setSubtext(i18n("Open KDevelop Session"));
|
||||
context.addMatch(term, match);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void KDevelopSessions::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &match)
|
||||
{
|
||||
Q_UNUSED(context)
|
||||
QString sessionId = match.data().toString();
|
||||
if (sessionId.isEmpty()) {
|
||||
kWarning() << "No KDevelop session id in match!";
|
||||
return;
|
||||
}
|
||||
kDebug() << "Open KDevelop session" << sessionId;
|
||||
QStringList args;
|
||||
args << QLatin1String("--open-session") << sessionId;
|
||||
KToolInvocation::kdeinitExec(QLatin1String("kdevelop"), args);
|
||||
}
|
||||
|
||||
#include "moc_kdevelopsessions.cpp"
|
80
kdevelop/app/plasma/runner/kdevelopsessions.desktop
Normal file
80
kdevelop/app/plasma/runner/kdevelopsessions.desktop
Normal file
|
@ -0,0 +1,80 @@
|
|||
[Desktop Entry]
|
||||
Name=KDevelop Sessions
|
||||
Name[bs]=KDevelop sesije
|
||||
Name[ca]=Sessions del KDevelop
|
||||
Name[ca@valencia]=Sessions del KDevelop
|
||||
Name[cs]=relace KDevelop
|
||||
Name[da]=KDevelop-sessioner
|
||||
Name[de]=KDevelop-Sitzungen
|
||||
Name[el]=Συνεδρίες KDevelop
|
||||
Name[en_GB]=KDevelop Sessions
|
||||
Name[es]=Sesiones de KDevelop
|
||||
Name[et]=KDevelopi seansid
|
||||
Name[fi]=KDevelop-istunnot
|
||||
Name[fr]=Sessions KDevelop
|
||||
Name[ga]=Seisiúin KDevelop
|
||||
Name[gl]=Sesións de KDevelop
|
||||
Name[hu]=KDevelop munkamenetek
|
||||
Name[it]=Sessioni KDevelop
|
||||
Name[kk]=KDevelop сеанстары
|
||||
Name[lt]=KDevelop seansas
|
||||
Name[nb]=KDevelop-økter
|
||||
Name[nds]=KDevelop-Törns
|
||||
Name[nl]=KDevelop sessies
|
||||
Name[pl]=Sesje KDevelop
|
||||
Name[pt]=Sessões do KDevelop
|
||||
Name[pt_BR]=Sessões do KDevelop
|
||||
Name[ru]=Сеансы KDevelop
|
||||
Name[sk]=Sedenia KDevelop
|
||||
Name[sl]=Seje za KDevelop
|
||||
Name[sv]=KDevelop-sessioner
|
||||
Name[tr]=KDevelop Oturumları
|
||||
Name[uk]=Сеанси KDevelop
|
||||
Name[x-test]=xxKDevelop Sessionsxx
|
||||
Name[zh_CN]=KDevelop 会话
|
||||
Name[zh_TW]=KDevelop 工作階段
|
||||
Comment=Matches KDevelop Sessions
|
||||
Comment[bs]=Usaglašuje KDevelop Sesije
|
||||
Comment[ca]=Concorda amb sessions del KDevelop
|
||||
Comment[ca@valencia]=Concorda amb sessions del KDevelop
|
||||
Comment[da]=Matcher KDevelop-sessioner
|
||||
Comment[de]=Findet KDevelop-Sitzungen
|
||||
Comment[el]=Ταιριάζει με συνεδρίες KDevelop
|
||||
Comment[en_GB]=Matches KDevelop Sessions
|
||||
Comment[es]=Sesiones coincidentes de KDevelop
|
||||
Comment[et]=KDevelopi seansside leidmine
|
||||
Comment[fi]=Täsmää KDevelop-istuntoihin
|
||||
Comment[fr]=Correspond aux sessions KDevelop
|
||||
Comment[ga]=Comhoiriúnach le Seisiúin KDevelop
|
||||
Comment[gl]=Atopa as sesións de KDevelop
|
||||
Comment[hu]=Illeszkedő KDevelop munkamenetek
|
||||
Comment[it]=Sessioni KDevelop corrispondenti
|
||||
Comment[kk]=Сәйкесті KDevelop сеанстарын іздеу
|
||||
Comment[nb]=Treffer KDevelop-økter
|
||||
Comment[nds]=Kiekt na passen KDevelop-Törns
|
||||
Comment[nl]=Komt overeen met KDevelop sessies
|
||||
Comment[pl]=Dopasowuje sesje KDevelop
|
||||
Comment[pt]=Corresponde às Sessões do KDevelop
|
||||
Comment[pt_BR]=Corresponder às sessões do KDevelop
|
||||
Comment[ru]=Выбирает сеансы KDevelop
|
||||
Comment[sk]=Porovnáva sedenia KDevelop
|
||||
Comment[sl]=Se ujema s sejami za KDevelop
|
||||
Comment[sv]=Matchar KDevelop-sessioner
|
||||
Comment[tr]=KDevelop Oturumlarını Eşleştirir
|
||||
Comment[uk]=Пошук відповідних сеансів KDevelop
|
||||
Comment[x-test]=xxMatches KDevelop Sessionsxx
|
||||
Comment[zh_CN]=匹配 KDevelop 会话
|
||||
Comment[zh_TW]=比對 KDevelop 工作階段
|
||||
Icon=kdevelop
|
||||
|
||||
X-KDE-ServiceTypes=Plasma/Runner
|
||||
Type=Service
|
||||
TryExec=kdevelop
|
||||
X-KDE-Library=krunner_kdevelopsessions
|
||||
X-KDE-PluginInfo-Author=Sebastian Kügler
|
||||
X-KDE-PluginInfo-Email=sebas@kde.org
|
||||
X-KDE-PluginInfo-Name=kdevelopsessions
|
||||
X-KDE-PluginInfo-Version=1.0
|
||||
X-KDE-PluginInfo-License=LGPL
|
||||
X-KDE-PluginInfo-EnabledByDefault=true
|
||||
X-Plasma-AdvertiseSingleRunnerQueryMode=true
|
55
kdevelop/app/plasma/runner/kdevelopsessions.h
Normal file
55
kdevelop/app/plasma/runner/kdevelopsessions.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright 2008, 2011 Sebastian Kügler <sebas@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef KATESESSIONS_H
|
||||
#define KATESESSIONS_H
|
||||
|
||||
#include <plasma/abstractrunner.h>
|
||||
|
||||
#include <KIcon>
|
||||
|
||||
struct Session
|
||||
{
|
||||
QString id;
|
||||
QString name;
|
||||
};
|
||||
|
||||
Q_DECLARE_TYPEINFO(Session, Q_MOVABLE_TYPE);
|
||||
|
||||
class KDevelopSessions : public Plasma::AbstractRunner {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KDevelopSessions( QObject *parent, const QVariantList& args );
|
||||
~KDevelopSessions();
|
||||
|
||||
void match(Plasma::RunnerContext &context);
|
||||
void run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &match);
|
||||
|
||||
private Q_SLOTS:
|
||||
void loadSessions();
|
||||
|
||||
private:
|
||||
KIcon m_icon;
|
||||
QVector<Session> m_sessions;
|
||||
};
|
||||
|
||||
K_EXPORT_PLASMA_RUNNER(kdevelopsessions, KDevelopSessions)
|
||||
|
||||
#endif
|
118
kdevelop/app/shell.dox
Normal file
118
kdevelop/app/shell.dox
Normal file
|
@ -0,0 +1,118 @@
|
|||
/**
|
||||
@page The KDevelop Generic Shell
|
||||
|
||||
This library contains the Shell - a profile-based implementation of KDevelop plugin architecture.
|
||||
|
||||
<b>Link with</b>: -lkdevshell
|
||||
|
||||
<b>Include path</b>: -I\$(kde_includes)/kdevelop/shell
|
||||
|
||||
\section creatingapp Creating an application using generic shell
|
||||
KDevelop platform applications can use generic shell as a ready to use implementation
|
||||
of KDevelop plugin architecture.
|
||||
|
||||
This is done by creating application %main.cpp file and @ref ShellExtension subclass.
|
||||
Example:
|
||||
- %main.cpp for "myapp" application:
|
||||
@code
|
||||
#include <config.h>
|
||||
|
||||
#include <kaboutdata.h>
|
||||
#include <kapplication.h>
|
||||
#include <kcmdlineargs.h>
|
||||
#include <klocale.h>
|
||||
#include <dcopclient.h>
|
||||
|
||||
#include <splashscreen.h>
|
||||
#include <toplevel.h>
|
||||
#include <plugincontroller.h>
|
||||
#include <partcontroller.h>
|
||||
#include <core.h>
|
||||
#include <projectmanager.h>
|
||||
#include <newmainwindow.h>
|
||||
|
||||
#include "myappextension.h"
|
||||
|
||||
static KCmdLineOptions options[] =
|
||||
{
|
||||
{ "profile <profile>", I18N_NOOP("Profile to load"), 0 },
|
||||
{ 0,0,0 }
|
||||
};
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
static const char description[] = I18N_NOOP("My Application");
|
||||
KAboutData aboutData("myapp", I18N_NOOP("My Application"),
|
||||
VERSION, description, KAboutData::License_GPL,
|
||||
I18N_NOOP("(c) 1999-2004, MyApp developers"),
|
||||
"", "http://www.myapp.org");
|
||||
aboutData.addAuthor("Me", I18N_NOOP("Creator"), "me@myapp.org");
|
||||
|
||||
KCmdLineArgs::init(argc, argv, &aboutData);
|
||||
KCmdLineArgs::addCmdLineOptions( options );
|
||||
|
||||
KApplication app;
|
||||
|
||||
MyAppExtension::init();
|
||||
|
||||
QPixmap pm;
|
||||
pm.load(locate("data", "myapp/pics/myapp-splash.png"));
|
||||
SplashScreen * splash = new SplashScreen( pm );
|
||||
splash->show();
|
||||
|
||||
app.processEvents();
|
||||
|
||||
QObject::connect(PluginController::getInstance(), SIGNAL(loadingPlugin(const QString &)),
|
||||
splash, SLOT(showMessage(const QString &)));
|
||||
|
||||
splash->message( i18n( "Loading Settings" ) );
|
||||
TopLevel::getInstance()->loadSettings();
|
||||
|
||||
PluginController::getInstance()->loadInitialPlugins();
|
||||
|
||||
splash->message( i18n( "Starting GUI" ) );
|
||||
NewMainWindow *mw = dynamic_cast<NewMainWindow*>(TopLevel::getInstance()->main());
|
||||
if (mw)
|
||||
mw->enableShow();
|
||||
TopLevel::getInstance()->main()->show();
|
||||
|
||||
Core::getInstance()->doEmitCoreInitialized();
|
||||
|
||||
delete splash;
|
||||
|
||||
kapp->dcopClient()->registerAs("myapp");
|
||||
|
||||
return app.exec();
|
||||
}
|
||||
@endcode
|
||||
|
||||
- Shell extension for "myapp" application:
|
||||
@code
|
||||
class MyAppExtension: public ShellExtension {
|
||||
public:
|
||||
static void init()
|
||||
{
|
||||
s_instance = new MyAppExtension();
|
||||
}
|
||||
|
||||
virtual void createGlobalSettingsPage(KDialogBase *dlg) {};
|
||||
virtual void acceptGlobalSettingsPage(KDialogBase *dlg) {};
|
||||
|
||||
virtual QString xmlFile()
|
||||
{
|
||||
return "myappui.rc";
|
||||
}
|
||||
|
||||
virtual QString defaultProfile()
|
||||
{
|
||||
return "MyApp";
|
||||
}
|
||||
|
||||
protected:
|
||||
KDevAssistantExtension();
|
||||
|
||||
};
|
||||
@endcode
|
||||
|
||||
*/
|
||||
|
70
kdevelop/app/splash.cpp
Normal file
70
kdevelop/app/splash.cpp
Normal file
|
@ -0,0 +1,70 @@
|
|||
/***************************************************************************
|
||||
* Copyright 2013 Sven Brauch <svenbrauch@gmail.com> *
|
||||
* Copyright 2013 Milian Wolff <mail@milianw.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU Library General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#include "splash.h"
|
||||
|
||||
#include <KDebug>
|
||||
#include <KIconLoader>
|
||||
|
||||
#include <KStandardDirs>
|
||||
#include <QDeclarativeView>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <QDeclarativeContext>
|
||||
#include <QGraphicsItem>
|
||||
|
||||
#include "config.h"
|
||||
|
||||
KDevSplashScreen::KDevSplashScreen()
|
||||
: KSplashScreen(QPixmap(), Qt::Popup | Qt::FramelessWindowHint)
|
||||
, m_view(new QDeclarativeView)
|
||||
{
|
||||
setFixedSize(QSize(475, 301));
|
||||
m_view->resize(size());
|
||||
m_view->engine()->rootContext()->setContextProperty("appIcon", KIconLoader().iconPath("kdevelop", -48));
|
||||
m_view->engine()->rootContext()->setContextProperty("appVersionMajor", VERSION_MAJOR);
|
||||
m_view->engine()->rootContext()->setContextProperty("appVersionMinor", VERSION_MINOR);
|
||||
m_view->engine()->rootContext()->setContextProperty("appVersionPatch", VERSION_PATCH);
|
||||
|
||||
QString splashScript = KStandardDirs::locate("data", "kdevelop/splash.qml");
|
||||
m_view->setSource(QUrl::fromLocalFile(splashScript));
|
||||
if ( ! m_view->rootObject() ) {
|
||||
kWarning() << "Could not find KDevelop splash screen: kdevelop/splash.qml";
|
||||
}
|
||||
}
|
||||
|
||||
KDevSplashScreen::~KDevSplashScreen()
|
||||
{
|
||||
}
|
||||
|
||||
void KDevSplashScreen::drawContents(QPainter* painter)
|
||||
{
|
||||
m_view->render(painter);
|
||||
}
|
||||
|
||||
void KDevSplashScreen::progress(int progress)
|
||||
{
|
||||
if ( ! m_view->rootObject() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// notify the QML script of the progress change
|
||||
m_view->rootObject()->setProperty("progress", progress);
|
||||
repaint();
|
||||
}
|
48
kdevelop/app/splash.h
Normal file
48
kdevelop/app/splash.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
/***************************************************************************
|
||||
* Copyright 2013 Sven Brauch <svenbrauch@gmail.com> *
|
||||
* Copyright 2013 Milian Wolff <mail@milianw.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU Library General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef KDEVSPLASH_H
|
||||
#define KDEVSPLASH_H
|
||||
|
||||
#include <ksplashscreen.h>
|
||||
|
||||
class QDeclarativeView;
|
||||
|
||||
/**
|
||||
* This class is draws the KDevelop splashscreen.
|
||||
*
|
||||
* The actualy splash design can be adapted via splash.qml
|
||||
*/
|
||||
class KDevSplashScreen : public KSplashScreen
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit KDevSplashScreen();
|
||||
virtual ~KDevSplashScreen();
|
||||
virtual void drawContents(QPainter* painter);
|
||||
|
||||
public slots:
|
||||
void progress(int progress);
|
||||
|
||||
private:
|
||||
QScopedPointer<QDeclarativeView> m_view;
|
||||
};
|
||||
|
||||
#endif
|
138
kdevelop/app/splash.qml
Normal file
138
kdevelop/app/splash.qml
Normal file
|
@ -0,0 +1,138 @@
|
|||
/***************************************************************************
|
||||
* Copyright 2013 Sven Brauch <svenbrauch@gmail.com> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU Library General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
import QtQuick 1.1
|
||||
|
||||
// The background image for the splash is still a bitmap, provided by QSplashScreen.
|
||||
// This widget has a transprent background and appears above that pixmap.
|
||||
// Thus, if for some reason this doesn't work, the user still has a splash screen
|
||||
// with a kdev logo and name.
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
// this property is updated from C++
|
||||
property int progress: 0
|
||||
// color for the non-colored rectangles
|
||||
property string defaultColor: "#3E3E3E"
|
||||
// amount of rectangles in each column
|
||||
property variant counts: [22, 20, 21, 19, 17, 19, 20, 17, 18, 15, 16, 15, 14, 16, 13, 11, 12, 10, 12,
|
||||
11, 8, 10, 6, 8, 9, 5, 7, 6, 4, 5, 6, 3, 5, 4, 2, 3, 2, 1, 2, 1]
|
||||
// "active" colors for the rectangles
|
||||
// only half as many colors, use each color twice.
|
||||
// TODO could try if it looks nicer with one color each
|
||||
property variant activeColors: ["#960A0A", "#B40F0F", "#FF4000", "#FF8400", "#FFDD00", "#CDEC00", "#99FF00", "#4CB700", "#1DB300", "#076813",
|
||||
"#08BA5B", "#00DA99", "#00B5E7", "#085BBB", "#2A5CFF", "#7044FF", "#9625FF", "#F013FF", "#FF2CC0", "#FF1A1D"]
|
||||
// this size is a fallback, it's scaled in the c++ code actually,
|
||||
// but this is the real splash size, so it's useful for testing in qmlviewer
|
||||
width: 475
|
||||
height: 301
|
||||
anchors.fill: parent
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "#0A0A0A" }
|
||||
GradientStop { position: 0.5; color: "#1F1F1F" }
|
||||
GradientStop { position: 1.0; color: "#0A0A0A" }
|
||||
}
|
||||
|
||||
// scanlines always look fancy
|
||||
ListView {
|
||||
anchors.fill: parent
|
||||
model: Math.floor(parent.height / 2)
|
||||
spacing: 2
|
||||
delegate: Rectangle {
|
||||
width: root.width
|
||||
height: 1
|
||||
color: "#555555"
|
||||
opacity: 0.10
|
||||
}
|
||||
}
|
||||
// draw the rectangles
|
||||
ListView {
|
||||
x: -40
|
||||
y: -52
|
||||
height: root.height
|
||||
width: root.width
|
||||
// this is needed to make the columns fill the widget from the bottom upwards
|
||||
rotation: 180
|
||||
spacing: 4
|
||||
// draw one column per entry in the root.counts list
|
||||
model: root.counts
|
||||
orientation: ListView.Horizontal
|
||||
// this delegate draws one column of rectangles
|
||||
delegate: Column {
|
||||
opacity: 0.75
|
||||
property string color
|
||||
property int count
|
||||
color: (1-root.progress/100.0) * root.counts.length <= index ? activeColors[Math.floor(index/2)] : root.defaultColor
|
||||
count: root.counts[index]
|
||||
x: 6
|
||||
y: 12
|
||||
spacing: 4
|
||||
Repeater {
|
||||
model: parent.count
|
||||
delegate: Rectangle {
|
||||
color: parent.color
|
||||
width: 6
|
||||
height: 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// text in the upper right corner
|
||||
Text {
|
||||
anchors.margins: 6
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
color: "white"
|
||||
opacity: 0.65
|
||||
text: "KDevelop Integrated Development Environment – http://kdevelop.org<br>" + root.progress+"%"
|
||||
}
|
||||
// icon in the lower left corner
|
||||
Image {
|
||||
id: icon
|
||||
anchors {
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
margins: 6
|
||||
}
|
||||
width: 48
|
||||
height: width
|
||||
source: appIcon
|
||||
}
|
||||
// Text next to the icon
|
||||
Text {
|
||||
anchors {
|
||||
left: icon.right
|
||||
bottom: parent.bottom
|
||||
margins: 8
|
||||
}
|
||||
height: icon.height
|
||||
width: parent.width - icon.width
|
||||
color: "white"
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font {
|
||||
pointSize: 26
|
||||
bold: true
|
||||
family: "sans"
|
||||
}
|
||||
style: Text.Raised;
|
||||
styleColor: "black"
|
||||
text: "KDevelop " + appVersionMajor + "." + appVersionMinor +
|
||||
"<span style='font-size:15px;'> ." + appVersionPatch + "</span>"
|
||||
}
|
||||
}
|
130
kdevelop/app/vendor/kate/katepartui.rc
vendored
Normal file
130
kdevelop/app/vendor/kate/katepartui.rc
vendored
Normal file
|
@ -0,0 +1,130 @@
|
|||
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
|
||||
<kpartgui name="KatePartView" version="53">
|
||||
<MenuBar>
|
||||
<Menu name="file" noMerge="1"><text>&File</text>
|
||||
<Action name="file_save" group="save_merge" />
|
||||
<Action name="file_save_as" group="save_merge" />
|
||||
<Action name="file_reload" group="revert_merge" />
|
||||
<Action name="file_print" group="print_merge" />
|
||||
<Separator group="print_merge" />
|
||||
</Menu>
|
||||
|
||||
<Menu name="edit" noMerge="1"><text>&Edit</text>
|
||||
<Action name="edit_undo" group="edit_undo_merge" />
|
||||
<Action name="edit_redo" group="edit_undo_merge" />
|
||||
<Separator group="edit_undo_merge" />
|
||||
<Action name="edit_cut" group="edit_paste_merge" />
|
||||
<Action name="edit_copy" group="edit_paste_merge" />
|
||||
<Action name="edit_paste" group="edit_paste_merge" />
|
||||
<Separator group="edit_paste_merge" />
|
||||
<Action name="edit_select_all" group="edit_select_merge" />
|
||||
<Action name="edit_deselect" group="edit_select_merge" />
|
||||
<Action name="set_verticalSelect" group="edit_select_merge" />
|
||||
<Separator group="edit_select_merge" />
|
||||
<Action name="view_vi_input_mode" group="edit_select_merge" />
|
||||
<Action name="set_insert" group="edit_select_merge" />
|
||||
<Separator group="edit_select_merge" />
|
||||
<Action name="edit_find" group="edit_find_merge" />
|
||||
<Action name="edit_find_next" group="edit_find_merge" />
|
||||
<Action name="edit_find_prev" group="edit_find_merge" />
|
||||
<Action name="edit_replace" group="edit_find_merge" />
|
||||
<Action name="edit_find_selected" group="edit_find_merge" />
|
||||
<Action name="edit_find_selected_backwards" group="edit_find_merge" />
|
||||
<Separator group="edit_find_merge" />
|
||||
<Action name="go_goto_line" group="edit_find_merge"/>
|
||||
</Menu>
|
||||
|
||||
<Menu name="view" noMerge="1"><text>&View</text>
|
||||
<Action name="switch_to_cmd_line" group="view_operations" />
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_schemas" group="view_operations" />
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_dynamic_word_wrap" group="view_operations" />
|
||||
<Action name="dynamic_word_wrap_indicators" group="view_operations" />
|
||||
<Action name="view_word_wrap_marker" group="view_operations" />
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_border" group="view_operations" />
|
||||
<Action name="view_line_numbers" group="view_operations" />
|
||||
<Action name="view_scrollbar_marks" group="view_operations" />
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_folding_markers" group="view_operations" />
|
||||
<Menu name="codefolding" group="view_operations"><text>&Code Folding</text>
|
||||
<Action name="folding_toplevel" group="view_operations" />
|
||||
<Action name="folding_expandtoplevel" group="view_operations" />
|
||||
<Action name="folding_collapselocal" group="view_operations" />
|
||||
<Action name="folding_expandlocal" group="view_operations" />
|
||||
</Menu>
|
||||
<Separator group="view_operations" />
|
||||
<Action name="view_inc_font_sizes" group="view_operations" />
|
||||
<Action name="view_dec_font_sizes" group="view_operations" />
|
||||
</Menu>
|
||||
|
||||
<Action name="bookmarks" />
|
||||
|
||||
<Menu name="tools" noMerge="1"><text>&Tools</text>
|
||||
<Action name="tools_toggle_write_lock" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_mode" group="tools_operations" />
|
||||
<Action name="tools_highlighting" group="tools_operations" />
|
||||
<Action name="tools_indentation" group="tools_operations" />
|
||||
<Action name="set_encoding" group="tools_operations" />
|
||||
<Action name="set_eol" group="tools_operations" />
|
||||
<Action name="add_bom" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_invoke_code_completion" group="tools_operations" />
|
||||
<Menu name="wordcompletion" group="tools_operations"><text>Word Completion</text>
|
||||
<Action name="doccomplete_fw" />
|
||||
<Action name="doccomplete_bw" />
|
||||
<Action name="doccomplete_sh" />
|
||||
</Menu>
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_toggle_automatic_spell_checking" group="tools_operations" />
|
||||
<Action name="tools_spelling" group="tools_operations" />
|
||||
<Action name="tools_spelling_from_cursor" group="tools_operations" />
|
||||
<Action name="tools_spelling_selection" group="tools_operations" />
|
||||
<Action name="tools_change_dictionary" group="tools_operations" />
|
||||
<Action name="tools_clear_dictionary_ranges" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_indent" group="tools_operations" />
|
||||
<Action name="tools_unindent" group="tools_operations" />
|
||||
<Action name="tools_cleanIndent" group="tools_operations" />
|
||||
<Action name="tools_align" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_comment" group="tools_operations" />
|
||||
<Action name="tools_uncomment" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_uppercase" group="tools_operations" />
|
||||
<Action name="tools_lowercase" group="tools_operations" />
|
||||
<Action name="tools_capitalize" group="tools_operations" />
|
||||
<Separator group="tools_operations" />
|
||||
<Action name="tools_join_lines" group="tools_operations" />
|
||||
<Action name="tools_apply_wordwrap" group="tools_operations" />
|
||||
</Menu>
|
||||
|
||||
<Menu name="settings" noMerge="1"><text>&Settings</text>
|
||||
<Action name="set_confdlg" group="configure_merge" />
|
||||
</Menu>
|
||||
</MenuBar>
|
||||
|
||||
<Menu name="ktexteditor_popup" noMerge="0">
|
||||
<Action name="edit_cut" group="popup_operations" />
|
||||
<Action name="edit_copy" group="popup_operations" />
|
||||
<Action name="edit_paste" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
<Action name="edit_select_all" group="popup_operations" />
|
||||
<Action name="edit_deselect" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
<Action name="spelling_suggestions" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
<Action name="bookmarks" group="popup_operations" />
|
||||
<Separator group="popup_operations" />
|
||||
</Menu>
|
||||
|
||||
<ToolBar name="mainToolBar" noMerge="1"><text>Main Toolbar</text>
|
||||
<Action name="file_save" group="file_operations" />
|
||||
<Action name="file_save_as" group="file_operations" />
|
||||
<Action name="edit_undo" group="edit_operations" />
|
||||
<Action name="edit_redo" group="edit_operations" />
|
||||
</ToolBar>
|
||||
|
||||
</kpartgui>
|
105
kdevelop/app/welcomepage/qml/Develop.qml
Normal file
105
kdevelop/app/welcomepage/qml/Develop.qml
Normal file
|
@ -0,0 +1,105 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.components 0.1
|
||||
import org.kde.plasma.core 0.1 as PlasmaCore
|
||||
import org.kdevelop.welcomepage 4.3
|
||||
|
||||
StandardPage
|
||||
{
|
||||
ToolBar {
|
||||
id: toolBar
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
margins: 25
|
||||
}
|
||||
tools: Flow {
|
||||
Link {
|
||||
iconSource: "project-development-new-template"
|
||||
text: i18n("New Project")
|
||||
onClicked: kdev.retrieveMenuAction("project/project_new").trigger()
|
||||
}
|
||||
|
||||
Link {
|
||||
iconSource: "project-development-open"
|
||||
text: i18n("Open project")
|
||||
onClicked: ICore.projectController().openProject()
|
||||
}
|
||||
|
||||
Link {
|
||||
iconSource: "download"
|
||||
text: i18n("Fetch project")
|
||||
onClicked: kdev.retrieveMenuAction("project/project_fetch").trigger()
|
||||
}
|
||||
|
||||
Link {
|
||||
iconSource: "document-open-recent"
|
||||
text: i18n("Recent Projects")
|
||||
onClicked: kdev.showMenu("project/project_open_recent")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ListView {
|
||||
id: sessionsView
|
||||
clip: true
|
||||
boundsBehavior: Flickable.StopAtBounds
|
||||
anchors {
|
||||
left: parent.left
|
||||
top: toolBar.bottom
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
bottomMargin: 30
|
||||
leftMargin: 30
|
||||
rightMargin: 30
|
||||
}
|
||||
|
||||
delegate: ListItem {
|
||||
width: sessionsView.width
|
||||
height: visible ? 30 : 0
|
||||
visible: projects.length>0
|
||||
onClicked: sessions.loadSession(uuid)
|
||||
enabled: true
|
||||
|
||||
Label {
|
||||
width: parent.width
|
||||
text: (display=="" ?
|
||||
projectNames.join(", ").replace(/.kdev4/g, "")
|
||||
:
|
||||
i18n("%1: %2", display, projectNames.join(", ").replace(/.kdev4/g, "")))
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
}
|
||||
|
||||
model: PlasmaCore.SortFilterModel {
|
||||
sourceModel: SessionsModel { id: sessions }
|
||||
sortRole: "identifier"
|
||||
sortOrder: Qt.AscendingOrder
|
||||
}
|
||||
|
||||
header: Heading {
|
||||
text: i18n("Sessions")
|
||||
height: implicitHeight*2
|
||||
}
|
||||
}
|
||||
}
|
89
kdevelop/app/welcomepage/qml/GettingStarted.qml
Normal file
89
kdevelop/app/welcomepage/qml/GettingStarted.qml
Normal file
|
@ -0,0 +1,89 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import QtWebKit 1.0
|
||||
import org.kde.plasma.components 0.1
|
||||
|
||||
StandardPage {
|
||||
Column {
|
||||
id: options
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.margins: 30
|
||||
|
||||
spacing: 10
|
||||
|
||||
width: 200
|
||||
Link { text: i18n("Official Website"); onClicked: info.state="kdevelop.org" }
|
||||
Link { text: i18n("Userbase"); onClicked: info.state="userbase" }
|
||||
Link { text: i18n("Techbase"); onClicked: info.state="techbase" }
|
||||
Link { text: i18n("Handbook"); onClicked: kdev.retrieveMenuAction("help/help_contents").trigger() }
|
||||
}
|
||||
|
||||
Column {
|
||||
id: info
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: options.right
|
||||
right: parent.right
|
||||
margins: 30
|
||||
}
|
||||
|
||||
spacing: 10
|
||||
|
||||
WebView {
|
||||
id: webview
|
||||
width: parent.width
|
||||
height: 200
|
||||
|
||||
MouseArea { anchors.fill: parent; hoverEnabled: true }
|
||||
}
|
||||
|
||||
Label {
|
||||
id: description
|
||||
width: parent.width
|
||||
}
|
||||
|
||||
Button {
|
||||
text: i18n("Go!")
|
||||
onClicked: Qt.openUrlExternally(webview.url)
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "userbase"
|
||||
PropertyChanges { target: webview; url: "http://userbase.kde.org/KDevelop" }
|
||||
PropertyChanges { target: description; text: i18n("Documentation for KDevelop users") }
|
||||
},
|
||||
State {
|
||||
name: "kdevelop.org"
|
||||
PropertyChanges { target: webview; url: "http://kdevelop.org" }
|
||||
PropertyChanges { target: description; text: i18n("Keep up with KDevelop's development") }
|
||||
},
|
||||
State {
|
||||
name: "techbase"
|
||||
PropertyChanges { target: webview; url: "http://techbase.kde.org/KDevelop" }
|
||||
PropertyChanges { target: description; text: i18n("Help us improve KDevelop") }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Component.onCompleted: info.state="kdevelop.org"
|
||||
}
|
25
kdevelop/app/welcomepage/qml/Heading.qml
Normal file
25
kdevelop/app/welcomepage/qml/Heading.qml
Normal file
|
@ -0,0 +1,25 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import org.kde.plasma.components 0.1
|
||||
|
||||
Label {
|
||||
font.pointSize: theme.defaultFont.pointSize*1.5
|
||||
}
|
25
kdevelop/app/welcomepage/qml/Link.qml
Normal file
25
kdevelop/app/welcomepage/qml/Link.qml
Normal file
|
@ -0,0 +1,25 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.1
|
||||
import org.kde.plasma.components 0.1
|
||||
|
||||
ToolButton {
|
||||
}
|
67
kdevelop/app/welcomepage/qml/StandardBackground.qml
Normal file
67
kdevelop/app/welcomepage/qml/StandardBackground.qml
Normal file
|
@ -0,0 +1,67 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.core 0.1 as PlasmaCore
|
||||
import org.kde.qtextracomponents 0.1
|
||||
|
||||
Rectangle
|
||||
{
|
||||
property Component tools: null
|
||||
property alias pageIcon: theIcon.icon
|
||||
property real marginLeft: toolbar.x+toolbar.width
|
||||
property real margins: 5
|
||||
|
||||
PlasmaCore.FrameSvgItem {
|
||||
imagePath: "widgets/tooltip"
|
||||
prefix: "base"
|
||||
id: toolbar
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
margins: parent.margins
|
||||
}
|
||||
width: toolsLoader.width + 2*toolsLoader.margins
|
||||
height: toolsLoader.height + 2*toolsLoader.margins
|
||||
Loader {
|
||||
id: toolsLoader
|
||||
|
||||
property int margins: 20
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
margins: toolsLoader.margins
|
||||
}
|
||||
sourceComponent: tools
|
||||
}
|
||||
}
|
||||
|
||||
QIconItem {
|
||||
id: theIcon
|
||||
anchors {
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
margins: 5
|
||||
}
|
||||
width: 64
|
||||
height: width
|
||||
}
|
||||
}
|
41
kdevelop/app/welcomepage/qml/StandardPage.qml
Normal file
41
kdevelop/app/welcomepage/qml/StandardPage.qml
Normal file
|
@ -0,0 +1,41 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.1
|
||||
import org.kde.qtextracomponents 0.1
|
||||
import org.kde.plasma.core 0.1 as PlasmaCore
|
||||
|
||||
PlasmaCore.FrameSvgItem {
|
||||
imagePath: "widgets/tooltip"
|
||||
prefix: "base"
|
||||
clip: true
|
||||
|
||||
QIconItem {
|
||||
anchors {
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
margins: 5
|
||||
}
|
||||
opacity: 0.3
|
||||
width: 128
|
||||
height: width
|
||||
icon: "kdevelop"
|
||||
}
|
||||
}
|
64
kdevelop/app/welcomepage/qml/area_code.qml
Normal file
64
kdevelop/app/welcomepage/qml/area_code.qml
Normal file
|
@ -0,0 +1,64 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.components 0.1
|
||||
|
||||
StandardBackground {
|
||||
id: root
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "#61B056" }
|
||||
GradientStop { position: 1.0; color: "#A3D69B" }
|
||||
}
|
||||
|
||||
state: "develop"
|
||||
|
||||
tools: ButtonColumn {
|
||||
spacing: 10
|
||||
|
||||
Link {
|
||||
iconSource: "applications-development"
|
||||
text: i18n("Develop")
|
||||
onClicked: root.state = "develop"
|
||||
}
|
||||
Link {
|
||||
iconSource: "help-contents"
|
||||
text: i18n("Getting Started")
|
||||
onClicked: root.state = "gettingstarted"
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: codeContents
|
||||
anchors {
|
||||
fill: parent
|
||||
leftMargin: root.marginLeft+root.margins
|
||||
margins: root.margins
|
||||
}
|
||||
}
|
||||
states: [
|
||||
State { name: "gettingstarted"
|
||||
PropertyChanges { target: codeContents; source: "qrc:/qml/GettingStarted.qml"}
|
||||
},
|
||||
State { name: "develop"
|
||||
PropertyChanges { target: codeContents; source: "qrc:/qml/Develop.qml"}
|
||||
}
|
||||
]
|
||||
}
|
73
kdevelop/app/welcomepage/qml/area_debug.qml
Normal file
73
kdevelop/app/welcomepage/qml/area_debug.qml
Normal file
|
@ -0,0 +1,73 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.components 0.1
|
||||
|
||||
StandardBackground
|
||||
{
|
||||
id: root
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "#21257C" }
|
||||
GradientStop { position: 1.0; color: "#62B6F1" }
|
||||
}
|
||||
tools: Link {
|
||||
id: goCode
|
||||
|
||||
iconSource: "go-previous"
|
||||
text: i18n("Back to code")
|
||||
onClicked: kdev.setArea("code")
|
||||
}
|
||||
pageIcon: "tools-report-bug"
|
||||
|
||||
StandardPage {
|
||||
id: startingPage
|
||||
anchors {
|
||||
fill: parent
|
||||
leftMargin: root.marginLeft+root.margins
|
||||
margins: root.margins
|
||||
}
|
||||
|
||||
Column {
|
||||
anchors.margins: 30
|
||||
anchors.fill: parent
|
||||
spacing: 30
|
||||
|
||||
ToolBar {
|
||||
tools: Flow {
|
||||
Link { iconSource: "configure"; text: i18n("Configure a new Launcher"); onClicked: kdev.retrieveMenuAction("run/configure_launches").trigger() }
|
||||
Link { iconSource: "audio-input-line"; text: i18n("Attach to Process"); onClicked: kdev.retrieveMenuAction("run/debug_attach").trigger() }
|
||||
Link { iconSource: "debug-run"; text: i18n("Debug your program"); onClicked: kdev.retrieveMenuAction("run/run_debug").trigger() }
|
||||
}
|
||||
}
|
||||
Heading { text: i18n("Debug Area") }
|
||||
Label {
|
||||
width: parent.width
|
||||
text: i18n("On the <em>Debug</em> area you will be able to see and analyze how your program works on execution. "+
|
||||
"On the <em>Run</em> menu you will find all the possible options.<br/><br/>"+
|
||||
"As you can see, here you can just execute your application or debug it if you need "+
|
||||
"further runtime information. You can select what is going to be run by configuring "+
|
||||
"the launches and selecting the one you want to use in the <em>Current Launch Configuration</em> sub-menu.")
|
||||
wrapMode: Text.WordWrap
|
||||
horizontalAlignment: Text.AlignJustify
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
78
kdevelop/app/welcomepage/qml/area_review.qml
Normal file
78
kdevelop/app/welcomepage/qml/area_review.qml
Normal file
|
@ -0,0 +1,78 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.components 0.1
|
||||
|
||||
StandardBackground
|
||||
{
|
||||
id: root
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "#B85B5B" }
|
||||
GradientStop { position: 1.0; color: "#EEBABA" }
|
||||
}
|
||||
tools: Link {
|
||||
id: goCode
|
||||
|
||||
iconSource: "go-previous"
|
||||
text: i18n("Back to code")
|
||||
onClicked: kdev.setArea("code")
|
||||
}
|
||||
pageIcon: "applications-engineering"
|
||||
|
||||
StandardPage {
|
||||
id: startingPage
|
||||
anchors {
|
||||
fill: parent
|
||||
leftMargin: root.marginLeft+root.margins
|
||||
margins: root.margins
|
||||
}
|
||||
|
||||
Column {
|
||||
anchors.margins: 30
|
||||
anchors.fill: parent
|
||||
spacing: 30
|
||||
|
||||
ToolBar {
|
||||
tools: Flow {
|
||||
Link {
|
||||
iconSource: "kompare"
|
||||
text: i18n("Review a Patch")
|
||||
onClicked: {
|
||||
kdev.raiseToolView("EditPatch")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Heading { text: i18n("Review Area") }
|
||||
|
||||
Label {
|
||||
width: parent.width
|
||||
text: i18n("On the <em>Review</em> area you will be able to find the tools you need "+
|
||||
"to review changes in your projects, either the ones you made or some external patch.<br/> Also it will help you send "+
|
||||
"the changes to the community you're contributing to, either by committing the changes, sending them by e-mail or "+
|
||||
"putting them on a ReviewBoard service.")
|
||||
wrapMode: Text.WordWrap
|
||||
horizontalAlignment: Text.AlignJustify
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
26
kdevelop/app/welcomepage/qml/main.qml
Normal file
26
kdevelop/app/welcomepage/qml/main.qml
Normal file
|
@ -0,0 +1,26 @@
|
|||
/* KDevelop
|
||||
*
|
||||
* Copyright 2011 Aleix Pol <aleixpol@kde.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
|
||||
Loader {
|
||||
source: "qrc:/qml/area_"+area+".qml"
|
||||
anchors.fill: parent
|
||||
}
|
86
kdevelop/app/welcomepage/sessionsmodel.cpp
Normal file
86
kdevelop/app/welcomepage/sessionsmodel.cpp
Normal file
|
@ -0,0 +1,86 @@
|
|||
/* This file is part of KDevelop
|
||||
Copyright 2010 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "sessionsmodel.h"
|
||||
#include <shell/core.h>
|
||||
|
||||
SessionsModel::SessionsModel(QObject* parent)
|
||||
: QAbstractListModel(parent)
|
||||
, m_sessions(KDevelop::SessionController::availableSessionInfo())
|
||||
{
|
||||
QHash< int, QByteArray > roles = roleNames();
|
||||
roles.insert(Uuid, "uuid");
|
||||
roles.insert(Projects, "projects");
|
||||
roles.insert(ProjectNames, "projectNames");
|
||||
roles.insert(VisibleIdentifier, "identifier");
|
||||
setRoleNames(roles);
|
||||
|
||||
connect(KDevelop::Core::self()->sessionController(), SIGNAL(sessionDeleted(QString)), SLOT(sessionDeleted(QString)));
|
||||
}
|
||||
|
||||
QVariant SessionsModel::data(const QModelIndex& index, int role) const
|
||||
{
|
||||
if(!index.isValid() || index.row()>m_sessions.count()) {
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
switch(role) {
|
||||
case Qt::DisplayRole:
|
||||
return m_sessions[index.row()].name;
|
||||
case Qt::ToolTip:
|
||||
return m_sessions[index.row()].description;
|
||||
case Uuid:
|
||||
return m_sessions[index.row()].uuid.toString();
|
||||
case Projects:
|
||||
return m_sessions[index.row()].projects;
|
||||
case VisibleIdentifier: {
|
||||
const KDevelop::SessionInfo& s = m_sessions[index.row()];
|
||||
return s.name.isEmpty() && !s.projects.isEmpty() ? s.projects.first().fileName() : s.name;
|
||||
}
|
||||
case ProjectNames: {
|
||||
QVariantList ret;
|
||||
foreach(const KUrl& project, m_sessions[index.row()].projects) {
|
||||
ret += project.fileName();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
int SessionsModel::rowCount(const QModelIndex& parent) const
|
||||
{
|
||||
return parent.isValid() ? 0 : m_sessions.size();
|
||||
}
|
||||
|
||||
void SessionsModel::loadSession(const QString& nameOrId) const
|
||||
{
|
||||
KDevelop::Core::self()->sessionController()->loadSession(nameOrId);
|
||||
}
|
||||
|
||||
void SessionsModel::sessionDeleted(const QString& id)
|
||||
{
|
||||
for(int i=0; i<m_sessions.size(); i++) {
|
||||
if(m_sessions[i].uuid.toString()==id) {
|
||||
beginRemoveRows(QModelIndex(), i, i);
|
||||
m_sessions.removeAt(i);
|
||||
endRemoveRows();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
41
kdevelop/app/welcomepage/sessionsmodel.h
Normal file
41
kdevelop/app/welcomepage/sessionsmodel.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
/* This file is part of KDevelop
|
||||
Copyright 2010 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef SESSIONSMODEL_H
|
||||
#define SESSIONSMODEL_H
|
||||
|
||||
#include <QModelIndex>
|
||||
#include <shell/sessioncontroller.h>
|
||||
|
||||
class SessionsModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum Roles { Uuid = Qt::UserRole+1, Projects, ProjectNames, VisibleIdentifier };
|
||||
explicit SessionsModel(QObject* parent = 0);
|
||||
virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
|
||||
virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
|
||||
Q_SCRIPTABLE void loadSession(const QString& nameOrId) const;
|
||||
private:
|
||||
QList<KDevelop::SessionInfo> m_sessions;
|
||||
|
||||
private slots:
|
||||
void sessionDeleted(const QString& id);
|
||||
};
|
||||
|
||||
#endif // SESSIONSMODEL_H
|
86
kdevelop/app/welcomepage/uihelper.cpp
Normal file
86
kdevelop/app/welcomepage/uihelper.cpp
Normal file
|
@ -0,0 +1,86 @@
|
|||
/* This file is part of KDevelop
|
||||
Copyright 2010 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "uihelper.h"
|
||||
#include <interfaces/icore.h>
|
||||
#include <interfaces/iuicontroller.h>
|
||||
#include <KParts/MainWindow>
|
||||
#include <KActionCollection>
|
||||
#include <interfaces/iprojectcontroller.h>
|
||||
#include <QDebug>
|
||||
#include <KMenuBar>
|
||||
#include <qdesktopservices.h>
|
||||
#include <sublime/area.h>
|
||||
#include <sublime/view.h>
|
||||
|
||||
using namespace KDevelop;
|
||||
|
||||
UiHelper::UiHelper(QObject* parent): QObject(parent)
|
||||
{}
|
||||
|
||||
QAction* findActionRec(const QStringList& path, const QList<QAction*>& actions)
|
||||
{
|
||||
QStringList newPath = path;
|
||||
QString current = newPath.takeFirst();
|
||||
|
||||
foreach(QAction* a, actions) {
|
||||
if(a->objectName() == current) {
|
||||
if(newPath.isEmpty())
|
||||
return a;
|
||||
else if(a->menu())
|
||||
return findActionRec(newPath, a->menu()->actions());
|
||||
else
|
||||
qDebug() << "shouldn't get here:" << path;
|
||||
}
|
||||
}
|
||||
|
||||
qWarning() << "error: action path not found: " << path;
|
||||
return 0;
|
||||
}
|
||||
|
||||
QAction* UiHelper::retrieveMenuAction(const QString& menuPath)
|
||||
{
|
||||
KMenuBar* m = ICore::self()->uiController()->activeMainWindow()->menuBar();
|
||||
|
||||
QAction* a=findActionRec(menuPath.split('/'), m->actions());
|
||||
return a;
|
||||
}
|
||||
|
||||
void UiHelper::setArea(const QString& name)
|
||||
{
|
||||
ICore::self()->uiController()->switchToArea(name, IUiController::ThisWindow);
|
||||
}
|
||||
|
||||
void UiHelper::raiseToolView(const QString& id)
|
||||
{
|
||||
QList< Sublime::View* > views = ICore::self()->uiController()->activeArea()->toolViews();
|
||||
foreach(Sublime::View* v, views) {
|
||||
QWidget* w=v->widget();
|
||||
if(w && id==w->objectName())
|
||||
ICore::self()->uiController()->raiseToolView(w);
|
||||
}
|
||||
}
|
||||
|
||||
void UiHelper::showMenu(const QString& name)
|
||||
{
|
||||
QAction* action = retrieveMenuAction(name);
|
||||
Q_ASSERT(action);
|
||||
Q_ASSERT(action->menu());
|
||||
|
||||
action->menu()->popup(QCursor::pos());
|
||||
}
|
41
kdevelop/app/welcomepage/uihelper.h
Normal file
41
kdevelop/app/welcomepage/uihelper.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
/* This file is part of KDevelop
|
||||
Copyright 2010 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef UIHELPER_H
|
||||
#define UIHELPER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QStringList>
|
||||
|
||||
class QUrl;
|
||||
class QAction;
|
||||
class UiHelper : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
UiHelper(QObject* parent);
|
||||
|
||||
public slots:
|
||||
QAction* retrieveMenuAction(const QString& name);
|
||||
void showMenu(const QString& name);
|
||||
void setArea(const QString& name);
|
||||
void raiseToolView(const QString& id);
|
||||
};
|
||||
|
||||
#endif // UIHELPER_H
|
||||
|
18
kdevelop/app/welcomepage/welcomepage.qrc
Normal file
18
kdevelop/app/welcomepage/welcomepage.qrc
Normal file
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<!-- components -->
|
||||
<file>qml/Develop.qml</file>
|
||||
<file>qml/GettingStarted.qml</file>
|
||||
<file>qml/Link.qml</file>
|
||||
<file>qml/StandardPage.qml</file>
|
||||
<file>qml/Heading.qml</file>
|
||||
<file>qml/StandardBackground.qml</file>
|
||||
|
||||
<!-- areas -->
|
||||
<file>qml/area_code.qml</file>
|
||||
<file>qml/area_debug.qml</file>
|
||||
<file>qml/area_review.qml</file>
|
||||
|
||||
<file>qml/main.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
96
kdevelop/app/welcomepage/welcomepageview.cpp
Normal file
96
kdevelop/app/welcomepage/welcomepageview.cpp
Normal file
|
@ -0,0 +1,96 @@
|
|||
/* This file is part of KDevelop
|
||||
Copyright 2011 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "welcomepageview.h"
|
||||
|
||||
#include "uihelper.h"
|
||||
#include "sessionsmodel.h"
|
||||
|
||||
#include <QDeclarativeContext>
|
||||
#include <QDeclarativeComponent>
|
||||
#include <QDeclarativeError>
|
||||
#include <QDebug>
|
||||
|
||||
#include <shell/core.h>
|
||||
#include <shell/uicontroller.h>
|
||||
|
||||
#include <sublime/area.h>
|
||||
#include <sublime/mainwindow.h>
|
||||
|
||||
#include <kdeclarative.h>
|
||||
#include <KDebug>
|
||||
#include <Plasma/Theme>
|
||||
#include <qdeclarative.h>
|
||||
|
||||
using namespace KDevelop;
|
||||
|
||||
WelcomePageView::WelcomePageView(QWidget* parent)
|
||||
: QDeclarativeView(parent)
|
||||
{
|
||||
qRegisterMetaType<QObject*>("KDevelop::IProjectController*");
|
||||
qRegisterMetaType<QObject*>("KDevelop::IPluginController*");
|
||||
qRegisterMetaType<QObject*>("PatchReviewPlugin*");
|
||||
qmlRegisterType<SessionsModel>("org.kdevelop.welcomepage", 4, 3, "SessionsModel");
|
||||
|
||||
QPalette p = palette();
|
||||
p.setColor(QPalette::Active, QPalette::Text, QColor(Qt::black));
|
||||
setPalette(p);
|
||||
|
||||
//setup kdeclarative library
|
||||
KDeclarative kdeclarative;
|
||||
kdeclarative.setDeclarativeEngine(engine());
|
||||
kdeclarative.initialize();
|
||||
//binds things like kconfig and icons
|
||||
kdeclarative.setupBindings();
|
||||
|
||||
setResizeMode(QDeclarativeView::SizeRootObjectToView);
|
||||
|
||||
UiHelper* helper = new UiHelper(this);
|
||||
rootContext()->setContextProperty("kdev", helper);
|
||||
rootContext()->setContextProperty("ICore", KDevelop::ICore::self());
|
||||
areaChanged(ICore::self()->uiController()->activeArea());
|
||||
|
||||
setSource(QUrl("qrc:/qml/main.qml"));
|
||||
if(!errors().isEmpty()) {
|
||||
kWarning() << "welcomepage errors:" << errors();
|
||||
}
|
||||
areaChanged(Core::self()->uiControllerInternal()->activeSublimeWindow()->area());
|
||||
connect(Core::self()->uiControllerInternal()->activeSublimeWindow(), SIGNAL(areaChanged(Sublime::Area*)),
|
||||
this, SLOT(areaChanged(Sublime::Area*)));
|
||||
}
|
||||
|
||||
void WelcomePageView::areaChanged(Sublime::Area* area)
|
||||
{
|
||||
rootContext()->setContextProperty("area", area->objectName());
|
||||
}
|
||||
|
||||
void trySetupWelcomePageView()
|
||||
{
|
||||
WelcomePageView* v = new WelcomePageView;
|
||||
|
||||
// make sure plasma component is available
|
||||
QDeclarativeComponent component(v->engine());
|
||||
component.setData("import org.kde.plasma.components 0.1\nimport QtQuick 1.0\nText { text: \"Hello world!\" }", QUrl());
|
||||
|
||||
if (component.isError()) {
|
||||
kWarning() << "Welcome Page not supported. errors: " << component.errors();
|
||||
delete v;
|
||||
} else {
|
||||
Core::self()->uiControllerInternal()->activeSublimeWindow()->setBackgroundCentralWidget(v);
|
||||
}
|
||||
}
|
41
kdevelop/app/welcomepage/welcomepageview.h
Normal file
41
kdevelop/app/welcomepage/welcomepageview.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
/* This file is part of KDevelop
|
||||
Copyright 2011 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef WELCOMEPAGEVIEW_H
|
||||
#define WELCOMEPAGEVIEW_H
|
||||
|
||||
#include <QDeclarativeView>
|
||||
|
||||
namespace Sublime
|
||||
{
|
||||
class Area;
|
||||
}
|
||||
|
||||
class WelcomePageView : public QDeclarativeView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
WelcomePageView(QWidget* parent = 0);
|
||||
|
||||
public slots:
|
||||
void areaChanged(Sublime::Area* a);
|
||||
};
|
||||
|
||||
void trySetupWelcomePageView();
|
||||
|
||||
#endif // WELCOMEPAGEVIEW_H
|
8
kdevelop/app_templates/CMakeLists.txt
Normal file
8
kdevelop/app_templates/CMakeLists.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
set(apptemplate_DIRS
|
||||
cpp/CMake/cmake_qt4core
|
||||
cpp/CMake/cmake_qt4gui
|
||||
cpp/CMake/cmake_qt4core_qtest
|
||||
cpp/CMake/cmake_plaincpp
|
||||
)
|
||||
|
||||
kdevplatform_add_app_templates(${apptemplate_DIRS})
|
|
@ -0,0 +1,4 @@
|
|||
[Project]
|
||||
Name=%{APPNAME}
|
||||
Manager=KDevCMakeManager
|
||||
VersionControl=%{VERSIONCONTROLPLUGIN}
|
|
@ -0,0 +1,6 @@
|
|||
cmake_minimum_required(VERSION 2.6)
|
||||
project(%{APPNAMELC})
|
||||
|
||||
add_executable(%{APPNAMELC} main.cpp)
|
||||
|
||||
install(TARGETS %{APPNAMELC} RUNTIME DESTINATION bin)
|
|
@ -0,0 +1,74 @@
|
|||
# KDE Config File
|
||||
[General]
|
||||
Name=CMake C++
|
||||
Name[bs]=CMake C++
|
||||
Name[ca]=CMake C++
|
||||
Name[ca@valencia]=CMake C++
|
||||
Name[cs]=CMake C++
|
||||
Name[da]=CMake C++
|
||||
Name[de]=CMake C++
|
||||
Name[el]=CMake C++
|
||||
Name[en_GB]=CMake C++
|
||||
Name[es]=CMake C++
|
||||
Name[et]=CMake C++
|
||||
Name[fi]=CMake C++
|
||||
Name[fr]=CMake C++
|
||||
Name[ga]=CMake C++
|
||||
Name[gl]=CMake C++
|
||||
Name[hu]=CMake C++
|
||||
Name[it]=CMake C++
|
||||
Name[kk]=CMake C++
|
||||
Name[nb]=CMake C++
|
||||
Name[nds]=CMake C++
|
||||
Name[nl]=CMake C++
|
||||
Name[pl]=CMake C++
|
||||
Name[pt]=C++ com CMake
|
||||
Name[pt_BR]=CMake C++
|
||||
Name[ru]=C++ (CMake)
|
||||
Name[sk]=CMake C++
|
||||
Name[sl]=CMake C++
|
||||
Name[sv]=CMake C++
|
||||
Name[tr]=CMake C++
|
||||
Name[uk]=CMake C++
|
||||
Name[x-test]=xxCMake C++xx
|
||||
Name[zh_CN]=CMake C++
|
||||
Name[zh_TW]=CMake C++
|
||||
Comment=Simple CMake-based C++ application
|
||||
Comment[bs]=Jednostavna na CMake bazirana C++ aplikacija
|
||||
Comment[ca]=Senzilla aplicació C++ basada en CMake
|
||||
Comment[ca@valencia]=Senzilla aplicació C++ basada en CMake
|
||||
Comment[cs]=Jednoduchá aplikace C++ založená na CMake
|
||||
Comment[da]=Simpel CMake-baseret C++-applikation
|
||||
Comment[de]=Einfache auf CMake basierende C++-Anwendung
|
||||
Comment[el]=Απλή εφαρμογή C++ με βάση το CMake
|
||||
Comment[en_GB]=Simple CMake-based C++ application
|
||||
Comment[es]=Aplicación C++ sencilla basada en CMake
|
||||
Comment[et]=Lihtne CMake'i põhine C++ rakendus
|
||||
Comment[fi]=Yksinkertainen CMake-perustainen C++-sovellus
|
||||
Comment[fr]=Application C++ simple utilisant CMake
|
||||
Comment[ga]=Feidhmchlár simplí C++ bunaithe ar CMake
|
||||
Comment[gl]=Programa básico en C++ baseado en CMake
|
||||
Comment[hu]=Egyszerű CMake alapú C++ alkalmazás
|
||||
Comment[it]=Semplice applicazione in C++ basata su CMake
|
||||
Comment[kk]=CMake негіздеген қарапайым C++ бағдарламасы
|
||||
Comment[lt]=Paprasta CMake-paremta C++ programa
|
||||
Comment[nb]=Enkelt C++-program basert på CMake
|
||||
Comment[nds]=En eenfach op CMake-baseert "C++"-Programm
|
||||
Comment[nl]=Eenvoudig op CMake gebaseerd C++ programma
|
||||
Comment[pl]=Prosty program w C++ oparty na CMake
|
||||
Comment[pt]=Aplicação simples em C++, baseada no CMake
|
||||
Comment[pt_BR]=Simples Aplicativo C++ baseado no CMake
|
||||
Comment[ru]=Простое приложение на С++ с CMake
|
||||
Comment[sk]=Jednoduchá C++ aplikácia založená na CMake
|
||||
Comment[sl]=Preprost program v C++, temelječ na CMake
|
||||
Comment[sv]=Enkelt CMake-baserat C++ program
|
||||
Comment[tr]=Basit CMake tabanlı C++ uygulaması
|
||||
Comment[ug]=ئاددىي CMake ئاساسىدىكى C++ پروگراممىسى
|
||||
Comment[uk]=Проста заснована на CMake програма C++
|
||||
Comment[x-test]=xxSimple CMake-based C++ applicationxx
|
||||
Comment[zh_CN]=基于 CMake 的简单 C++ 应用程序
|
||||
Comment[zh_TW]=簡單的使用 CMake 的 C++ 應用程式
|
||||
Category=Standard/Terminal
|
||||
Icon=default-kdevelop
|
||||
ShowFilesAfterGeneration=%{PROJECTDIR}/main.cpp
|
||||
ValidProjectName=^[a-zA-Z_][a-zA-Z0-9_]+$
|
6
kdevelop/app_templates/cpp/CMake/cmake_plaincpp/main.cpp
Normal file
6
kdevelop/app_templates/cpp/CMake/cmake_plaincpp/main.cpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#include <iostream>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
std::cout << "Hello, world!" << std::endl;
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
#include "%{APPNAME}.h"
|
||||
|
||||
#include <QTimer>
|
||||
#include <iostream>
|
||||
|
||||
%{APPNAMEID}::%{APPNAMEID}()
|
||||
{
|
||||
QTimer* timer = new QTimer(this);
|
||||
connect( timer, SIGNAL(timeout()), SLOT(output()) );
|
||||
timer->start( 1000 );
|
||||
}
|
||||
|
||||
%{APPNAMEID}::~%{APPNAMEID}()
|
||||
{}
|
||||
|
||||
void %{APPNAMEID}::output()
|
||||
{
|
||||
std::cout << "Hello World!" << std::endl;
|
||||
}
|
||||
|
||||
#include "moc_%{APPNAME}.cpp"
|
18
kdevelop/app_templates/cpp/CMake/cmake_qt4core/%{APPNAME}.h
Normal file
18
kdevelop/app_templates/cpp/CMake/cmake_qt4core/%{APPNAME}.h
Normal file
|
@ -0,0 +1,18 @@
|
|||
#ifndef %{APPNAMEID}_H
|
||||
#define %{APPNAMEID}_H
|
||||
|
||||
#include <QtCore/QObject>
|
||||
|
||||
class %{APPNAMEID} : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
%{APPNAMEID}();
|
||||
virtual ~%{APPNAMEID}();
|
||||
|
||||
private slots:
|
||||
void output();
|
||||
};
|
||||
|
||||
#endif // %{APPNAMEID}_H
|
|
@ -0,0 +1,4 @@
|
|||
[Project]
|
||||
Name=%{APPNAME}
|
||||
Manager=KDevCMakeManager
|
||||
VersionControl=%{VERSIONCONTROLPLUGIN}
|
|
@ -0,0 +1,13 @@
|
|||
cmake_minimum_required(VERSION 2.6)
|
||||
project(%{APPNAMELC})
|
||||
find_package(Qt4 REQUIRED)
|
||||
|
||||
include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
set(%{APPNAME}_SRCS %{APPNAME}.cpp main.cpp)
|
||||
|
||||
qt4_automoc(${%{APPNAME}_SRCS})
|
||||
add_executable(%{APPNAMELC} ${%{APPNAME}_SRCS})
|
||||
target_link_libraries(%{APPNAMELC} ${QT_QTCORE_LIBRARY})
|
||||
|
||||
install(TARGETS %{APPNAMELC} RUNTIME DESTINATION bin)
|
|
@ -0,0 +1,71 @@
|
|||
# KDE Config File
|
||||
[General]
|
||||
Name=CMake QtCore C++
|
||||
Name[bs]=CMake QtCore C++
|
||||
Name[ca]=CMake QtCore C++
|
||||
Name[ca@valencia]=CMake QtCore C++
|
||||
Name[cs]=CMake QtCore C++
|
||||
Name[da]=CMake QtCore C++
|
||||
Name[de]=CMake QtCore C++
|
||||
Name[el]=CMake QtCore C++
|
||||
Name[en_GB]=CMake QtCore C++
|
||||
Name[es]=CMake QtCore C++
|
||||
Name[et]=CMake QtCore C++
|
||||
Name[fi]=CMake QtCore C++
|
||||
Name[fr]=CMake QtCore C++
|
||||
Name[ga]=CMake QtCore C++
|
||||
Name[gl]=CMake QtCore C++
|
||||
Name[hu]=CMake QtCore C++
|
||||
Name[it]=CMake QtCore C++
|
||||
Name[kk]=CMake QtCore C++
|
||||
Name[nb]=CMake QtCore C++
|
||||
Name[nds]=CMake QtCore C++
|
||||
Name[nl]=CMake QtCore C++
|
||||
Name[pl]=CMake QtCore C++
|
||||
Name[pt]=QtCore em C++ com CMake
|
||||
Name[pt_BR]=CMake QtCore C++
|
||||
Name[ru]=C++ (CMake, QtCore)
|
||||
Name[sk]=CMake QtCore C++
|
||||
Name[sl]=CMake QtCore C++
|
||||
Name[sv]=CMake QtCore C++
|
||||
Name[tr]=CMake QtCore C++
|
||||
Name[uk]=CMake QtCore C++
|
||||
Name[x-test]=xxCMake QtCore C++xx
|
||||
Name[zh_CN]=CMake QtCore C++
|
||||
Name[zh_TW]=CMake QtCore C++
|
||||
Comment=Qt4 CMake Core application. Generate a CMake/Qt4 based application (crossplatform compatible)
|
||||
Comment[bs]=Qt4 CMake osnovna aplikacija. Generiše CMake/Qt4 baziranu aplikaciju (kompatibilna s više platformi)
|
||||
Comment[ca]=Aplicació de nucli CMake Qt4. Genera una aplicació basada en CMake/Qt4 (multi plataforma)
|
||||
Comment[ca@valencia]=Aplicació de nucli CMake Qt4. Genera una aplicació basada en CMake/Qt4 (multi plataforma)
|
||||
Comment[cs]=Aplikace Qt4 CMake Core. Generuje aplikaci typu CMake/Qt4 (multiplatformní)
|
||||
Comment[da]=Qt4 CMake Core-program. Genererer et CMake-/Qt4-baseret program (krydsplatform kompatibelt)
|
||||
Comment[de]=Qt4/CMake-Core-Anwendung. Eine auf CMake und Qt4 basierende Anwendung (plattformunabhängig) erstellen.
|
||||
Comment[el]=Qt4 CMake Core εφαρμογή. Δημιουργία μιας εφαρμογής με βάση τα CMake/Qt4 (συμβατή με πολλαπλές πλατφόρμες)
|
||||
Comment[en_GB]=Qt4 CMake Core application. Generate a CMake/Qt4 based application (crossplatform compatible)
|
||||
Comment[es]=Aplicación Qt4 CMake Core. Genera una aplicación basada en CMake/Qt4 (compatible multiplataforma)
|
||||
Comment[et]=Qt4 CMake Core rakendus. Rakenduse loomine CMake/Qt4 põhjal (mitmeplatvormne)
|
||||
Comment[fi]=Qt 4 CMake Core -sovellus. Generoi CMake/Qt4-perustainen sovellus (toimii useissa käyttöjärjestelmissä)
|
||||
Comment[fr]=Application principale CMake pour Qt4. Génère une application utilisant QMake / Qt4 (compatible multi-plate-forme)
|
||||
Comment[ga]=Feidhmchlár bunúsach CMake Qt4. Cruthaigh feidhmchlár bunaithe ar CMake/Qt4 (feidhmchlár trasardáin)
|
||||
Comment[gl]=Programa principal con CMake para Qt4. Xera un programa baseado en QMake/Qt4 (compatíbel con multiplataforma)
|
||||
Comment[hu]=Qt4 CMake mag alkalmazás. Előállít egy CMake/Qt4 alapú alkalmazást (keresztplatform kompatibilis)
|
||||
Comment[it]=Applicazione base CMake in Qt4. Genera un'applicazione basata su CMake/Qt4 (multipiattaforma)
|
||||
Comment[kk]=Qt4 CMake Core бағдарламасы. CMake/Qt4 негіздеген бағдарламаны жасап береді (кроссплатформалық үлесімді)
|
||||
Comment[nb]=Qt4 CMake kjerneprogram. Lag et program basert på CMake/Qt4 (kryssplattform-kompatibelt)
|
||||
Comment[nds]=Qt4-CMake-Karnprogramm. Stellt en op CMake un Qt4 opbuut Programm op (över Bedriefümgeven weg kompatibel)
|
||||
Comment[nl]=Kerntoepassing van Qt4 CMake. Genereert een op CMake/Qt4 gebaseerd programma (crossplatform compatibel)
|
||||
Comment[pl]=Program jądra Qt4 CMake. Generuj programy oparte o CMake/Qt4 (kompatybilne na wielu platformach)
|
||||
Comment[pt]=Gera uma aplicação baseada no CMake/Qt4 Core (compatível com várias plataformas)
|
||||
Comment[pt_BR]=Aplicativo principal com CMake para Qt4. Gera um aplicativo em CMake/Qt4 (compatível com várias plataformas)
|
||||
Comment[ru]=Основа приложения для Qt4 и CMake. Создаёт кроссплатформенное приложение на базе CMake/Qt4.
|
||||
Comment[sk]=Ústredná aplikácia Qt4 CMake. Generuje aplikáciu založenú na CMake/Qt4 (cross-platformovo kompatibilné)
|
||||
Comment[sl]=Jedrni program Qt4 CMake. Ustvari program temelječ na CMake/Qt4 (združljiv z več okolji)
|
||||
Comment[sv]=Qt4 CMake-kärnprogram. Skapa ett CMake/Qt4-baserat program (som fungerar på flera plattformar)
|
||||
Comment[tr]=Qt4 CMake Çekirdek uygulaması. CMake/Qt4 tabanlı uygulama oluştur (çapraz platform uyumlu)
|
||||
Comment[uk]=Основна програма Qt4 з системою збирання CMake. Створити програму, засновану на CMake/Qt4 (сумісну з декількома платформами)
|
||||
Comment[x-test]=xxQt4 CMake Core application. Generate a CMake/Qt4 based application (crossplatform compatible)xx
|
||||
Comment[zh_CN]=生成基于 CMake/Qt4 的应用程序(跨平台兼容)
|
||||
Comment[zh_TW]=Qt4 CMake Core 應用程式。產生一個 CMake/Qt4 為基礎的使用者介面應用程式(跨平台相容)
|
||||
ShowFilesAfterGeneration=%{PROJECTDIR}/src/%{APPNAMELC}.cpp
|
||||
Category=Qt/Terminal
|
||||
ValidProjectName=^[a-zA-Z_][a-zA-Z0-9_]+$
|
10
kdevelop/app_templates/cpp/CMake/cmake_qt4core/main.cpp
Normal file
10
kdevelop/app_templates/cpp/CMake/cmake_qt4core/main.cpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#include <QCoreApplication>
|
||||
#include "%{APPNAME}.h"
|
||||
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
QCoreApplication app(argc, argv);
|
||||
%{APPNAMEID} %{APPNAMELC};
|
||||
return app.exec();
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
#include "%{APPNAME}.h"
|
||||
|
||||
%{APPNAMEID}::%{APPNAMEID}()
|
||||
{}
|
||||
|
||||
%{APPNAMEID}::~%{APPNAMEID}()
|
||||
{}
|
||||
|
||||
#include "moc_%{APPNAME}.cpp"
|
|
@ -0,0 +1,15 @@
|
|||
#ifndef %{APPNAMEID}_H
|
||||
#define %{APPNAMEID}_H
|
||||
|
||||
#include <QtCore/QObject>
|
||||
|
||||
class %{APPNAMEID} : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
%{APPNAMEID}();
|
||||
virtual ~%{APPNAMEID}();
|
||||
};
|
||||
|
||||
#endif // %{APPNAMEID}_H
|
|
@ -0,0 +1,4 @@
|
|||
[Project]
|
||||
Name=%{APPNAME}
|
||||
Manager=KDevCMakeManager
|
||||
VersionControl=%{VERSIONCONTROLPLUGIN}
|
|
@ -0,0 +1,17 @@
|
|||
cmake_minimum_required(VERSION 2.6)
|
||||
project(%{APPNAMELC})
|
||||
find_package(Qt4 REQUIRED)
|
||||
|
||||
enable_testing()
|
||||
|
||||
include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
set(%{APPNAME}_SRCS %{APPNAME}.cpp main.cpp)
|
||||
|
||||
qt4_automoc(${%{APPNAME}_SRCS})
|
||||
add_executable(%{APPNAMELC} ${%{APPNAME}_SRCS})
|
||||
target_link_libraries(%{APPNAMELC} ${QT_QTCORE_LIBRARY})
|
||||
|
||||
add_subdirectory(tests)
|
||||
|
||||
install(TARGETS %{APPNAMELC} RUNTIME DESTINATION bin)
|
|
@ -0,0 +1,68 @@
|
|||
# KDE Config File
|
||||
[General]
|
||||
Name=CMake QtTest
|
||||
Name[bs]=CMake QtTest
|
||||
Name[ca]=CMake QtTest
|
||||
Name[ca@valencia]=CMake QtTest
|
||||
Name[cs]=CMake QtTest
|
||||
Name[da]=CMake QtTest
|
||||
Name[de]=CMake QtTest
|
||||
Name[el]=CMake QtTest
|
||||
Name[en_GB]=CMake QtTest
|
||||
Name[es]=CMake QtTest
|
||||
Name[et]=CMake QtTest
|
||||
Name[fi]=CMake QtTest
|
||||
Name[fr]=CMake QtTest
|
||||
Name[gl]=CMake QtTest
|
||||
Name[hu]=CMake QtTest
|
||||
Name[it]=CMake QtTest
|
||||
Name[kk]=CMake QtTest
|
||||
Name[nb]=CMake QtTest
|
||||
Name[nds]=CMake QtTest
|
||||
Name[nl]=CMake QtTest
|
||||
Name[pl]=CMake QtTest
|
||||
Name[pt]=QtTest com CMake
|
||||
Name[pt_BR]=CMake QtTest
|
||||
Name[ru]=QtTest (CMake)
|
||||
Name[sk]=CMake QtTest
|
||||
Name[sl]=CMake QtTest
|
||||
Name[sv]=CMake QtTest
|
||||
Name[tr]=CMake QtTest
|
||||
Name[uk]=CMake QtTest
|
||||
Name[x-test]=xxCMake QtTestxx
|
||||
Name[zh_CN]=CMake QtTest
|
||||
Name[zh_TW]=CMake QtTest
|
||||
Comment=Qt4 CMake QTest Core application. Generate a CMake/Qt4 based application (cross-platform)
|
||||
Comment[bs]=Qt4 CMake QTest osnovna aplikacija. Generiše CMake/Qt4 baziranu aplikaciju (radi s više platformi)
|
||||
Comment[ca]=Aplicació de nucli QTest CMake Qt4. Genera una aplicació basada en CMake/Qt4 (multi plataforma)
|
||||
Comment[ca@valencia]=Aplicació de nucli QTest CMake Qt4. Genera una aplicació basada en CMake/Qt4 (multi plataforma)
|
||||
Comment[da]=Qt4 CMake QTest Core-program. Genererer et CMake-/Qt4-baseret program (krydsplatform)
|
||||
Comment[de]=Qt4/CMake/QTest-Core-Anwendung. Eine auf CMake und Qt4 basierende Anwendung (plattformunabhängig) erstellen.
|
||||
Comment[el]=Qt4 CMake QTest Core εφαρμογή. Δημιουργία μιας εφαρμογής με βάση τα CMake/Qt4 (συμβατή με πολλαπλές πλατφόρμες)
|
||||
Comment[en_GB]=Qt4 CMake QTest Core application. Generate a CMake/Qt4 based application (cross-platform)
|
||||
Comment[es]=Aplicación Qt4 CMake QTest Core. Genera una aplicación basada en CMake/Qt4 (compatible multiplataforma)
|
||||
Comment[et]=Qt4 CMake QTest Core rakendus. Rakenduse loomine CMake/Qt4 põhjal (mitmeplatvormne)
|
||||
Comment[fi]=Qt4 CMake QTest Core -sovellus. Generoi CMake/Qt4-perustainen sovellus (eri käyttöjärjestelmissä yhteensopiva)
|
||||
Comment[fr]=Application principale QTest CMake pour Qt4. Génère une application utilisant CMake / Qt4 (compatible multi-plate-forme)
|
||||
Comment[gl]=Programa principal QTest con CMake para Qt4. Xera un programa baseado en QMake/Qt4 (compatíbel con multiplataforma)
|
||||
Comment[hu]=Qt4 CMake QTest mag alkalmazás. Előállít egy CMake/Qt4 alapú alkalmazást (keresztplatform)
|
||||
Comment[it]=Applicazione base QTest CMake in Qt4. Genera un'applicazione basata su CMake/Qt4 (multipiattaforma)
|
||||
Comment[kk]=Qt4 CMake QTest Core бағдарламасы. CMake/Qt4 негіздеген бағдарламаны жасап береді (кроссплатформалық)
|
||||
Comment[nb]=Qt4 CMake QTest kjerneprogram. Lag et program basert på CMake/Qt4 (kryssplattform-kompatibelt)
|
||||
Comment[nds]=Qt4-CMake-QTest-Karnprogramm. Stellt en op CMake un Qt4 opbuut Programm op (över Bedriefümgeven weg kompatibel)
|
||||
Comment[nl]=Kerntoepassing van Qt4 CMake QTest. Genereert een op CMake/Qt4-gebaseerd programma (crossplatform compatibel)
|
||||
Comment[pl]=Program jądra Qt4 CMake QTest. Generuj programy oparte o CMake/Qt4 (kompatybilne na wielu platformach)
|
||||
Comment[pt]=Gera uma aplicação baseada no CMake/Qt4 Core com QTest (compatível com várias plataformas)
|
||||
Comment[pt_BR]=Aplicativo principal QTest com CMake para Qt4. Gera um aplicativo em CMake/Qt4 (compatível com várias plataformas)
|
||||
Comment[ru]=Основа приложения c QTest для Qt4 и CMake. Создаёт кроссплатформенное приложение на базе CMake/Qt4.
|
||||
Comment[sk]=Ústredná aplikácia Qt4 CMake QTest. Generuje aplikáciu založenú na CMake/Qt4 (cross-platformové)
|
||||
Comment[sl]=Jedrni program Qt4 CMake QTest. Ustvari program temelječ na CMake/Qt4 (združljiv z več okolji)
|
||||
Comment[sv]=Qt4 CMake QTest-kärnprogram. Skapa ett CMake/Qt4-baserat program (som fungerar på flera plattformar)
|
||||
Comment[tr]=Qt4 CMake QTest Çekirdek uygulaması. CMake/Qt4 tabanlı uygulama oluştur (çapraz platform uyumlu)
|
||||
Comment[uk]=Створити програму QTest, засновану на CMake/Qt4 (сумісну з декількома платформами)
|
||||
Comment[x-test]=xxQt4 CMake QTest Core application. Generate a CMake/Qt4 based application (cross-platform)xx
|
||||
Comment[zh_CN]=生成基于 CMake/Qt4 的应用程序(跨平台)
|
||||
Comment[zh_TW]=Qt4 CMake QTest Core 應用程式。產生一個 CMake/Qt4 為基礎的使用者介面應用程式(跨平台相容)
|
||||
ShowFilesAfterGeneration=%{PROJECTDIR}/src/%{APPNAMELC}.cpp
|
||||
Category=Qt/Test
|
||||
ValidProjectName=^[a-zA-Z_][a-zA-Z0-9_]+$
|
|
@ -0,0 +1,10 @@
|
|||
#include <QCoreApplication>
|
||||
#include "%{APPNAME}.h"
|
||||
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
QCoreApplication app(argc, argv);
|
||||
%{APPNAMEID} %{APPNAMELC};
|
||||
return app.exec();
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
#include "%{APPNAME}Test.h"
|
||||
|
||||
void %{APPNAMEID}Test::initTestCase()
|
||||
{}
|
||||
|
||||
void %{APPNAMEID}Test::init()
|
||||
{}
|
||||
|
||||
void %{APPNAMEID}Test::cleanup()
|
||||
{}
|
||||
|
||||
void %{APPNAMEID}Test::cleanupTestCase()
|
||||
{}
|
||||
|
||||
void %{APPNAMEID}Test::someTest()
|
||||
{
|
||||
QCOMPARE(1,2);
|
||||
}
|
||||
|
||||
QTEST_MAIN(%{APPNAMEID}Test)
|
||||
|
||||
#include "moc_%{APPNAME}Test.cpp"
|
|
@ -0,0 +1,19 @@
|
|||
#ifndef %{APPNAMEID}TEST_H
|
||||
#define %{APPNAMEID}TEST_H
|
||||
|
||||
#include <QtCore/QObject>
|
||||
#include <QtTest/QTest>
|
||||
|
||||
class %{APPNAMEID}Test : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private slots:
|
||||
void initTestCase();
|
||||
void init();
|
||||
void cleanup();
|
||||
void cleanupTestCase();
|
||||
void someTest();
|
||||
};
|
||||
|
||||
#endif // %{APPNAMEID}TEST_H
|
|
@ -0,0 +1,9 @@
|
|||
include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
set(CMAKE_EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
|
||||
set(%{APPNAME}Test_SRCS %{APPNAME}Test.cpp)
|
||||
|
||||
qt4_automoc(${%{APPNAME}Test_SRCS})
|
||||
add_executable(%{APPNAME}Test ${%{APPNAME}Test_SRCS})
|
||||
add_test(%{APPNAME}Test %{APPNAME}Test)
|
||||
target_link_libraries(%{APPNAME}Test ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY})
|
22
kdevelop/app_templates/cpp/CMake/cmake_qt4gui/%{APPNAME}.cpp
Normal file
22
kdevelop/app_templates/cpp/CMake/cmake_qt4gui/%{APPNAME}.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
#include "%{APPNAME}.h"
|
||||
|
||||
#include <QtGui/QLabel>
|
||||
#include <QtGui/QMenu>
|
||||
#include <QtGui/QMenuBar>
|
||||
#include <QtGui/QAction>
|
||||
|
||||
%{APPNAMEID}::%{APPNAMEID}()
|
||||
{
|
||||
QLabel* label = new QLabel( this );
|
||||
label->setText( "Hello World!" );
|
||||
setCentralWidget( label );
|
||||
QAction* action = new QAction(this);
|
||||
action->setText( "Quit" );
|
||||
connect(action, SIGNAL(triggered()), SLOT(close()) );
|
||||
menuBar()->addMenu( "File" )->addAction( action );
|
||||
}
|
||||
|
||||
%{APPNAMEID}::~%{APPNAMEID}()
|
||||
{}
|
||||
|
||||
#include "moc_%{APPNAME}.cpp"
|
15
kdevelop/app_templates/cpp/CMake/cmake_qt4gui/%{APPNAME}.h
Normal file
15
kdevelop/app_templates/cpp/CMake/cmake_qt4gui/%{APPNAME}.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
#ifndef %{APPNAMEID}_H
|
||||
#define %{APPNAMEID}_H
|
||||
|
||||
#include <QtGui/QMainWindow>
|
||||
|
||||
class %{APPNAMEID} : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
%{APPNAMEID}();
|
||||
virtual ~%{APPNAMEID}();
|
||||
};
|
||||
|
||||
#endif // %{APPNAMEID}_H
|
|
@ -0,0 +1,4 @@
|
|||
[Project]
|
||||
Name=%{APPNAME}
|
||||
Manager=KDevCMakeManager
|
||||
VersionControl=%{VERSIONCONTROLPLUGIN}
|
13
kdevelop/app_templates/cpp/CMake/cmake_qt4gui/CMakeLists.txt
Normal file
13
kdevelop/app_templates/cpp/CMake/cmake_qt4gui/CMakeLists.txt
Normal file
|
@ -0,0 +1,13 @@
|
|||
cmake_minimum_required(VERSION 2.6)
|
||||
project(%{APPNAMELC})
|
||||
find_package(Qt4 REQUIRED)
|
||||
|
||||
include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
set(%{APPNAME}_SRCS %{APPNAME}.cpp main.cpp)
|
||||
|
||||
qt4_automoc(${%{APPNAME}_SRCS})
|
||||
add_executable(%{APPNAMELC} ${%{APPNAME}_SRCS})
|
||||
target_link_libraries(%{APPNAMELC} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
|
||||
|
||||
install(TARGETS %{APPNAMELC} RUNTIME DESTINATION bin)
|
|
@ -0,0 +1,70 @@
|
|||
# KDE Config File
|
||||
[General]
|
||||
Name=CMake Qt-C++
|
||||
Name[bs]=CMake Qt-C++
|
||||
Name[ca]=CMake Qt-C++
|
||||
Name[ca@valencia]=CMake Qt-C++
|
||||
Name[cs]=CMake Qt-C++
|
||||
Name[da]=CMake Qt-C++
|
||||
Name[de]=CMake Qt-C++
|
||||
Name[el]=CMake Qt-C++
|
||||
Name[en_GB]=CMake Qt-C++
|
||||
Name[es]=CMake Qt-C++
|
||||
Name[et]=CMake Qt-C++
|
||||
Name[fi]=CMake Qt-C++
|
||||
Name[fr]=CMake Qt-C++
|
||||
Name[ga]=CMake Qt-C++
|
||||
Name[gl]=CMake Qt-C++
|
||||
Name[hu]=CMake Qt-C++
|
||||
Name[it]=CMake Qt-C++
|
||||
Name[kk]=CMake Qt-C++
|
||||
Name[nb]=CMake Qt-C++
|
||||
Name[nds]=CMake Qt-C++
|
||||
Name[nl]=CMake Qt-C++
|
||||
Name[pl]=CMake Qt-C++
|
||||
Name[pt]=Qt-C++ com QMake
|
||||
Name[pt_BR]=CMake Qt-C++
|
||||
Name[ru]=Qt-C++ (CMake)
|
||||
Name[sk]=CMake Qt-C++
|
||||
Name[sl]=CMake Qt-C++
|
||||
Name[sv]=CMake Qt-C++
|
||||
Name[tr]=CMake Qt-C++
|
||||
Name[uk]=CMake Qt-C++
|
||||
Name[x-test]=xxCMake Qt-C++xx
|
||||
Name[zh_CN]=CMake Qt-C++
|
||||
Name[zh_TW]=CMake Qt-C++
|
||||
Comment=Qt4 CMake Gui application. Generate a CMake/Qt4 based GUI application (crossplatform compatible)
|
||||
Comment[bs]=Qt4 CMake Gui application. osnovna aplikacija. Generiše CMake/Qt4 baziranu grafičku aplikaciju (kompatibilna s više platformi)
|
||||
Comment[ca]=Aplicació IGU CMake Qt4. Genera una aplicació IGU basada en CMake/Qt4 (multi plataforma)
|
||||
Comment[ca@valencia]=Aplicació IGU CMake Qt4. Genera una aplicació IGU basada en CMake/Qt4 (multi plataforma)
|
||||
Comment[da]=Qt4 CMake GUI-program. Genererer et CMake-/Qt4-baseret GUI-program (krydsplatform kompatibelt)
|
||||
Comment[de]=Qt4/CMake-GUI-Anwendung. Eine auf CMake und Qt4 basierende GUI-Anwendung (plattformunabhängig) erstellen.
|
||||
Comment[el]=Qt4 CMake Gui εφαρμογή. Δημιουργία μιας CMake/Qt4 εφαρμογής με γραφικό περιβάλλον (συμβατή με πολλαπλές πλατφόρμες)
|
||||
Comment[en_GB]=Qt4 CMake Gui application. Generate a CMake/Qt4 based GUI application (crossplatform compatible)
|
||||
Comment[es]=Aplicación con interfaz gráfica Qt4 CMake. Genera una aplicación con interfaz gráfica basada en CMake/Qt4 (compatible multiplataforma)
|
||||
Comment[et]=Qt4 CMake GUI rakendus. Rakenduse loomine CMake/Qt4 põhjal (mitmeplatvormne)
|
||||
Comment[fi]=Qt4 CMake Gui -sovellus. Generoi CMake/Qt4-perustainen graafinen käyttöliittymäsovellus (toimii useissa käyttöjärjestelmissä)
|
||||
Comment[fr]=Application avec interface graphique CMake pour Qt4. Génère une application avec interface graphique utilisant CMake / Qt4 (compatible multi-plate-forme)
|
||||
Comment[ga]=Feidhmchlár grafach CMake Qt4. Cruthaigh feidhmchlár grafach bunaithe ar CMake/Qt4 (feidhmchlár trasardáin)
|
||||
Comment[gl]=Programa gráfico con CMake para Qt4. Xera un programa con GUI baseado en CMake/Qt4 (compatíbel con multiplataforma)
|
||||
Comment[hu]=Qt4 CMake grafikus felületű alkalmazás. Előállít egy CMake/Qt4 alapú grafikus felületű alkalmazást (keresztplatform kompatibilis)
|
||||
Comment[it]=Applicazione GUI CMake in Qt4. Genera un'applicazione con GUI basata su CMake/Qt4 (multipiattaforma)
|
||||
Comment[kk]=Qt4 CMake GUI бағдарламасы. CMake/Qt4 негіздеген графикалық интерфейсті бағдарламаны жасап береді (кроссплатформалық үлесімді)
|
||||
Comment[nb]=Qt4 Cmake Gui-program. Lag et program med grafisk brukerflate basert på CMake/Qt4 (kryssplattform-kompatibelt)
|
||||
Comment[nds]=Qt4-CMake-Böversietprogramm. En op CMake un Qt4 opbuut Böversiet-Programm opstellen (över Bedriefümgeven weg kompatibel)
|
||||
Comment[nl]=Gui-toepassing van Qt4 CMake. Genereert een op CMake/Qt4 gebaseerd GUI-programma (crossplatform compatibel)
|
||||
Comment[pl]=Program Qt4 CMake Gui. Generuj programy oparte o CMake/Qt4 (kompatybilne na wielu platformach)
|
||||
Comment[pt]=Aplicação gráfica do Qt4 com CMake. Gera uma aplicação gráfica baseada no CMake/Qt4 (compatível com várias plataformas)
|
||||
Comment[pt_BR]=Aplicativo gráfico com CMake para Qt4. Gera um aplicativo de interface em CMake/Qt4 (compatível com várias plataformas)
|
||||
Comment[ru]=Графическое приложение для Qt4 и CMake. Создаёт графическое кроссплатформенное приложение на базе CMake/Qt4.
|
||||
Comment[sk]=Ústredná aplikácia Qt4 CMake Gui. Generuje GUI aplikáciu založenú na CMake/Qt4 (cross-platformovo kompatibilné)
|
||||
Comment[sl]=Program z uporabniškim vmesnikom Qt4 CMake. Ustvari program temelječ na CMake/Qt4 (združljiv z več okolji)
|
||||
Comment[sv]=Qt4 CMake-program med grafiskt användargränssnitt. Skapa ett CMake/Qt4-baserat program med grafiskt användargränssnitt (som fungerar på flera plattformar)
|
||||
Comment[tr]=Qt4 CMake Gui uygulaması. CMake/Qt4 tabanlı GUI uygulaması oluştur (çapraz platform uyumlu)
|
||||
Comment[uk]=Програма Qt4 з графічним інтерфейсом і системою збирання CMake. Створити графічну програму, засновану на CMake/Qt4 (сумісну з декількома платформами)
|
||||
Comment[x-test]=xxQt4 CMake Gui application. Generate a CMake/Qt4 based GUI application (crossplatform compatible)xx
|
||||
Comment[zh_CN]=生成基于 CMake/Qt4 的图形应用程序(跨平台兼容)
|
||||
Comment[zh_TW]=Qt4 CMake 使用者介面應用程式。產生一個 CMake/Qt4 為基礎的使用者介面應用程式(跨平台相容)
|
||||
ShowFilesAfterGeneration=%{PROJECTDIR}/src/%{APPNAMELC}.cpp
|
||||
Category=Qt/Graphical
|
||||
ValidProjectName=^[a-zA-Z_][a-zA-Z0-9_]+$
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue