summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2022-07-16 16:20:24 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2022-07-16 16:20:24 +0900
commitd833de5bbe40d780fe02dc95d1c981a4b1007108 (patch)
treef9984fb88d2b8527be0ecfb9154ab7b83d809579
parenta30a266067d9d952edc91305bef757557c03717e (diff)
downloaduniversal-indent-gui-tqt-d833de5bbe40d780fe02dc95d1c981a4b1007108.tar.gz
universal-indent-gui-tqt-d833de5bbe40d780fe02dc95d1c981a4b1007108.zip
Add cmake+ninja build framework. Build initial dummy application.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
-rw-r--r--CMakeLists.txt81
-rw-r--r--ConfigureChecks.cmake25
-rw-r--r--config.h.cmake8
-rw-r--r--debian/cdbs/debian-tde.mk246
-rw-r--r--debian/cdbs/versions.pl19
-rw-r--r--debian/changelog7
-rw-r--r--debian/control24
-rw-r--r--debian/copyright7
-rw-r--r--debian/menu5
-rwxr-xr-xdebian/rules30
-rw-r--r--debian/source/options6
-rw-r--r--debian/universal-indent-gui-tqt.menu5
-rw-r--r--src/CMakeLists.txt35
-rwxr-xr-xsrc/main.cpp384
14 files changed, 597 insertions, 285 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..75375e2
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,81 @@
+############################################
+# #
+# Improvements and feedbacks are welcome #
+# #
+# This file is released under GPL >= 3 #
+# #
+############################################
+
+
+cmake_minimum_required( VERSION 3.1 )
+
+
+#### general package setup
+
+project( universal-indent-gui-tqt )
+
+
+#### include essential cmake modules
+
+include( FindPkgConfig )
+include( CheckFunctionExists )
+include( CheckSymbolExists )
+include( CheckIncludeFile )
+include( CheckLibraryExists )
+include( CheckCSourceCompiles )
+include( CheckCXXSourceCompiles )
+
+
+#### include our cmake modules
+
+include( TDEMacros )
+
+
+##### set version number ########################
+
+tde_set_project_version( )
+
+
+##### setup install paths
+
+include( TDESetupPaths )
+tde_setup_paths( )
+
+
+##### optional stuff
+
+option( WITH_ALL_OPTIONS "Enable all optional support" OFF )
+option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
+
+
+##### user requested modules
+
+option( BUILD_ALL "Build all" ON )
+#option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
+
+
+##### configure checks
+
+include( ConfigureChecks.cmake )
+
+
+###### global compiler settings
+
+add_definitions( -DHAVE_CONFIG_H )
+
+set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
+set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
+set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
+
+
+##### directories
+
+add_subdirectory( src )
+
+
+##### other data ################################
+
+
+##### write configure files
+
+configure_file( config.h.cmake config.h @ONLY )
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
new file mode 100644
index 0000000..031be3c
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,25 @@
+###########################################
+# #
+# Improvements and feedback are welcome #
+# #
+# This file is released under GPL >= 3 #
+# #
+###########################################
+
+
+# required stuff
+find_package( TQt )
+
+tde_setup_architecture_flags( )
+
+include(TestBigEndian)
+test_big_endian(WORDS_BIGENDIAN)
+
+tde_setup_largefiles( )
+
+
+##### check for gcc visibility support
+
+if( WITH_GCC_VISIBILITY )
+ tde_setup_gcc_visibility( )
+endif( WITH_GCC_VISIBILITY )
diff --git a/config.h.cmake b/config.h.cmake
new file mode 100644
index 0000000..61ede3a
--- /dev/null
+++ b/config.h.cmake
@@ -0,0 +1,8 @@
+#define VERSION "@VERSION@"
+
+// Defined if you have fvisibility and fvisibility-inlines-hidden support.
+#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@
diff --git a/debian/cdbs/debian-tde.mk b/debian/cdbs/debian-tde.mk
new file mode 100644
index 0000000..f36e352
--- /dev/null
+++ b/debian/cdbs/debian-tde.mk
@@ -0,0 +1,246 @@
+# -*- mode: makefile; coding: utf-8 -*-
+# Copyright © 2003 Christopher L Cheney <ccheney@debian.org>
+# Copyright © 2019 TDE Team
+# Description: A class for TDE packages; sets TDE environment variables, etc
+#
+# 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, 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., 59 Temple Place, Suite 330, Boston, MA
+# 02111-1307 USA.
+
+ifndef _cdbs_bootstrap
+_cdbs_scripts_path ?= /usr/lib/cdbs
+_cdbs_rules_path ?= /usr/share/cdbs/1/rules
+_cdbs_class_path ?= /usr/share/cdbs/1/class
+endif
+
+ifndef _cdbs_class_debian-qt-kde
+_cdbs_class_debian-qt-kde := 1
+
+# for dh_icons
+CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 5.0.7ubuntu4)
+
+# Note: This _must_ be included before autotools.mk, or it won't work.
+common-configure-arch common-configure-indep:: debian/stamp-cvs-make
+debian/stamp-cvs-make:
+ifndef _cdbs_class_cmake
+ cp -Rp /usr/share/aclocal/libtool.m4 admin/libtool.m4.in
+ifneq "$(wildcard /usr/share/libtool/config/ltmain.sh)" ""
+ cp -Rp /usr/share/libtool/config/ltmain.sh admin/ltmain.sh
+endif
+ifneq "$(wildcard /usr/share/libtool/build-aux/ltmain.sh)" ""
+ cp -Rp /usr/share/libtool/build-aux/ltmain.sh admin/ltmain.sh
+endif
+ $(MAKE) -C $(DEB_SRCDIR) -f admin/Makefile.common dist;
+endif
+ touch debian/stamp-cvs-make
+
+include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix)
+
+ifdef _cdbs_tarball_dir
+DEB_BUILDDIR = $(_cdbs_tarball_dir)/obj-$(DEB_BUILD_GNU_TYPE)
+else
+DEB_BUILDDIR = obj-$(DEB_BUILD_GNU_TYPE)
+endif
+
+ifndef _cdbs_class_cmake
+include $(_cdbs_class_path)/autotools.mk$(_cdbs_makefile_suffix)
+endif
+
+ifdef _cdbs_class_cmake
+ifneq "$(wildcard /usr/bin/ninja)" ""
+MAKE = ninja -v
+DEB_MAKE_ENVVARS += DESTDIR=$(DEB_DESTDIR)
+DEB_MAKE_INSTALL_TARGET = install
+DEB_CMAKE_NORMAL_ARGS += -GNinja
+endif
+endif
+
+ifndef _cdbs_rules_patchsys_quilt
+DEB_PATCHDIRS := debian/patches/common debian/patches
+endif
+
+export kde_cgidir = \$${libdir}/cgi-bin
+export kde_confdir = \$${sysconfdir}/trinity
+export kde_htmldir = \$${datadir}/doc/tde/HTML
+
+DEB_KDE_ENABLE_FINAL := yes
+DEB_INSTALL_DOCS_ALL :=
+
+DEB_DH_MAKESHLIBS_ARGS_ALL := -V
+DEB_SHLIBDEPS_INCLUDE = $(foreach p,$(PACKAGES_WITH_LIBS),debian/$(p)/usr/lib)
+
+DEB_AC_AUX_DIR = $(DEB_SRCDIR)/admin
+DEB_CONFIGURE_INCLUDEDIR = "\$${prefix}/include"
+DEB_COMPRESS_EXCLUDE = .dcl .docbook -license .tag .sty .el
+
+# The default gzip compressor has been changed in dpkg >= 1.17.0.
+deb_default_compress = $(shell LANG=C dpkg-deb --version | head -n1 | \
+ sed -e "s|.*version ||" -e "s| .*||" | \
+ xargs -r dpkg --compare-versions 1.17.0 lt \
+ && echo xz || echo gzip)
+ifeq ($(deb_default_compress),gzip)
+DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \
+ && echo xz || echo bzip2)
+endif
+
+ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ cdbs_treat_me_gently_arches := arm m68k alpha ppc64 armel armeb
+ ifeq (,$(filter $(DEB_HOST_ARCH_CPU),$(cdbs_treat_me_gently_arches)))
+ cdbs_kde_enable_final = $(if $(DEB_KDE_ENABLE_FINAL),--enable-final,)
+ else
+ cdbs_kde_enable_final =
+ endif
+endif
+
+ifneq (,$(filter nostrip,$(DEB_BUILD_OPTIONS)))
+ cdbs_kde_enable_final =
+ cdbs_kde_enable_debug = --enable-debug=yes
+else
+ cdbs_kde_enable_debug = --disable-debug
+endif
+
+ifneq (,$(filter debug,$(DEB_BUILD_OPTIONS)))
+ cdbs_kde_enable_debug = --enable-debug=full
+endif
+
+DEB_BUILD_PARALLEL ?= true
+
+cdbs_configure_flags += \
+ --with-qt-dir=/usr/share/qt3 \
+ --disable-rpath \
+ --with-xinerama \
+ $(cdbs_kde_enable_final) \
+ $(cdbs_kde_enable_debug)
+
+
+# This is a convenience target for calling manually.
+# It's not part of the build process.
+buildprep: clean apply-patches
+ifndef _cdbs_class_cmake
+ $(MAKE) -f admin/Makefile.common dist
+endif
+ debian/rules clean
+
+.tdepkginfo:
+ echo "# TDE package information" >.tdepkginfo
+ dpkg-parsechangelog | sed -n "s|^Source: |Name: |p" >>.tdepkginfo
+ dpkg-parsechangelog | sed -n "s|^Version: |Version: |p" >>.tdepkginfo
+ date +"DateTime: %m/%d/%Y %H:%M" -u -d "$$(dpkg-parsechangelog | sed -n 's|^Date: ||p')" >>.tdepkginfo
+
+post-patches:: .tdepkginfo
+
+common-build-arch:: debian/stamp-man-pages
+debian/stamp-man-pages:
+ if ! test -d debian/man/out; then mkdir -p debian/man/out; fi
+ for f in $$(find debian/man -name '*.sgml'); do \
+ docbook-to-man $$f > debian/man/out/`basename $$f .sgml`.1; \
+ done
+ for f in $$(find debian/man -name '*.man'); do \
+ soelim -I debian/man $$f \
+ > debian/man/out/`basename $$f .man`.`head -n1 $$f | awk '{print $$NF}'`; \
+ done
+ touch debian/stamp-man-pages
+
+common-binary-indep::
+ ( set -e; \
+ tmpf=`mktemp debian/versions.XXXXXX`; \
+ perl debian/cdbs/versions.pl >$$tmpf; \
+ for p in $(DEB_INDEP_PACKAGES); do \
+ cat $$tmpf >>debian/$$p.substvars; \
+ done; \
+ rm -f $$tmpf )
+
+common-binary-arch::
+ ( set -e; \
+ tmpf=`mktemp debian/versions.XXXXXX`; \
+ perl debian/cdbs/versions.pl >$$tmpf; \
+ for p in $(DEB_ARCH_PACKAGES); do \
+ cat $$tmpf >>debian/$$p.substvars; \
+ done; \
+ rm -f $$tmpf )
+ # update multi-arch path in install files
+ ls -d debian/* | \
+ grep -E "(install|links)$$" | \
+ while read a; do \
+ [ -d $$a ] || [ -f $$a.arch ] || \
+ ! grep -q "\$$(DEB_HOST_MULTIARCH)" $$a || \
+ sed -i.arch "s|\$$(DEB_HOST_MULTIARCH)|$(DEB_HOST_MULTIARCH)|g" $$a; \
+ done
+
+clean::
+ rm -rf debian/man/out
+ -rmdir debian/man
+ rm -f debian/stamp-man-pages
+ rm -rf debian/shlibs-check
+ # revert multi-arch path in install files
+ ls -d debian/* | \
+ grep -E "(install|links)$$" | \
+ while read a; do \
+ [ ! -f $$a.arch ] || \
+ mv $$a.arch $$a; \
+ done
+
+$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
+ if test -x /usr/bin/dh_icons; then dh_icons -p$(cdbs_curpkg) $(DEB_DH_ICONCACHE_ARGS); fi
+ if test -x /usr/bin/dh_desktop; then dh_desktop -p$(cdbs_curpkg) $(DEB_DH_DESKTOP_ARGS); fi
+ if test -e debian/$(cdbs_curpkg).lintian; then \
+ install -p -D -m644 debian/$(cdbs_curpkg).lintian \
+ debian/$(cdbs_curpkg)/usr/share/lintian/overrides/$(cdbs_curpkg); \
+ fi
+ if test -e debian/$(cdbs_curpkg).presubj; then \
+ install -p -D -m644 debian/$(cdbs_curpkg).presubj \
+ debian/$(cdbs_curpkg)/usr/share/bug/$(cdbs_curpkg)/presubj; \
+ fi
+
+binary-install/$(DEB_SOURCE_PACKAGE)-doc-html::
+ set -e; \
+ for doc in `cd $(DEB_DESTDIR)/opt/trinity/share/doc/tde/HTML/en; find . -name index.docbook`; do \
+ pkg=$${doc%/index.docbook}; pkg=$${pkg#./}; \
+ echo Building $$pkg HTML docs...; \
+ mkdir -p $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/opt/trinity/share/doc/tde/HTML/en/$$pkg; \
+ cd $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/opt/trinity/share/doc/tde/HTML/en/$$pkg; \
+ /opt/trinity/bin/meinproc $(DEB_DESTDIR)/opt/trinity/share/doc/tde/HTML/en/$$pkg/index.docbook; \
+ done
+ for pkg in $(DOC_HTML_PRUNE) ; do \
+ rm -rf debian/$(DEB_SOURCE_PACKAGE)-doc-html/opt/trinity/share/doc/tde/HTML/en/$$pkg; \
+ done
+
+common-build-indep:: debian/stamp-kde-apidox
+debian/stamp-kde-apidox:
+ $(if $(DEB_KDE_APIDOX),+$(DEB_MAKE_INVOKE) apidox)
+ touch $@
+
+common-install-indep:: common-install-kde-apidox
+common-install-kde-apidox::
+ $(if $(DEB_KDE_APIDOX),+DESTDIR=$(DEB_DESTDIR) $(DEB_MAKE_INVOKE) install-apidox)
+
+cleanbuilddir::
+ -$(if $(call cdbs_streq,$(DEB_BUILDDIR),$(DEB_SRCDIR)),,rm -rf $(DEB_BUILDDIR))
+
+clean::
+ifndef _cdbs_class_cmake
+ if test -n "$(DEB_KDE_CVS_MAKE)" && test -d $(DEB_SRCDIR); then \
+ cd $(DEB_SRCDIR); \
+ find . -name Makefile.in -print | \
+ xargs --no-run-if-empty rm -f; \
+ rm -f Makefile.am acinclude.m4 aclocal.m4 config.h.in \
+ configure configure.files configure.in stamp-h.in \
+ subdirs; \
+ fi
+endif
+ rm -f .tdepkginfo
+ rm -f debian/stamp-kde-apidox
+ rm -f debian/stamp-cvs-make
+
+endif
diff --git a/debian/cdbs/versions.pl b/debian/cdbs/versions.pl
new file mode 100644
index 0000000..1b110f7
--- /dev/null
+++ b/debian/cdbs/versions.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+my $version = `dpkg-parsechangelog | awk '/^Version/ {print \$2}'`;
+my ($version3, $version3_next);
+my ($version2, $version2_next);
+
+($version3 = $version) =~ s/^(([^.]+\.){2}[^.+~-]+)[.+~-]?[^-]*-[^-]+$/$1/;
+($version2 = $version3) =~ s/\.[^.]+$//;
+
+($version3_next = $version3) =~ s/(?<=\.)(\d+)[a-z]?$/($1+1)/e;
+($version2_next = $version2) =~ s/(?<=\.)(\d+)$/($1+1)/e;
+
+print "TDE-Version3=$version3\n";
+print "TDE-Version2=$version2\n";
+print "TDE-Next-Version3=$version3_next\n";
+print "TDE-Next-Version2=$version2_next\n";
diff --git a/debian/changelog b/debian/changelog
index 3be2799..c665103 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+universal-indent-gui-tqt (1.2.0-2) unstable; urgency=medium
+
+ * Port to TQt3 and package renaming
+ * Initial release for TQt3
+
+ -- Michele Calgaro <michele.calgaro@yahoo.it> Mon, 16 Jul 2022 16:06:00 +0900
+
universalindentgui (1.2.0-1.1) unstable; urgency=medium
* Non-maintainer upload.
diff --git a/debian/control b/debian/control
index 95f6a35..006820f 100644
--- a/debian/control
+++ b/debian/control
@@ -1,24 +1,16 @@
-Source: universalindentgui
+Source: universal-indent-gui-tqt
Section: devel
Priority: optional
-Maintainer: Thomas Schweitzer <thomas-schweitzer@arcor.de>
-Uploaders: Fathi Boudra <fabo@debian.org>
-Build-Depends: debhelper (>= 9), libqscintilla2-qt4-dev, libqt4-dev
+Maintainer: TDE Debian Team <team-debian@trinitydesktop.org>
+XSBC-Original-Maintainer: Thomas Schweitzer <thomas-schweitzer@arcor.de>
+XSBC-Original-Uploaders: Fathi Boudra <fabo@debian.org>
+Build-Depends: cdbs, debhelper (>= 9~), quilt, cmake-trinity, ninja-build, libtqtinterface-dev, libtqscintilla-dev
Standards-Version: 3.9.3
-Homepage: http://universalindent.sourceforge.net
-Package: universalindentgui
+Package: universal-indent-gui-tqt
Architecture: any
-Depends: ${misc:Depends}, ${shlibs:Depends}
-Recommends: astyle,
- bcpp,
- csstidy,
- hindent,
- indent,
- perltidy,
- tidy,
- uncrustify,
- xmlindent
+Depends: ${shlibs:Depends}
+Suggests: astyle, bcpp, csstidy, hindent, indent, perltidy, tidy, uncrustify, xmlindent
Description: GUI frontend for several code beautifiers
UniversalIndentGui is a GUI fontend for several code beautifiers, currently
supporting:
diff --git a/debian/copyright b/debian/copyright
index eaf269d..4ca6304 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,4 +1,9 @@
-This package was debianized by:
+This code was ported to TQt3 and packaged for Debian by:
+ Michele Calgaro <michele.calgaro@yahoo.it>
+and is based on the code downloaded from Debian Snapshot Archive at:
+ https://snapshot.debian.org/package/universalindentgui/1.2.0-1.1
+
+The original package was debianized by:
Fathi Boudra <fabo@debian.org> on Wed, 29 Apr 2009 10:50:58 +0200
diff --git a/debian/menu b/debian/menu
deleted file mode 100644
index d787c08..0000000
--- a/debian/menu
+++ /dev/null
@@ -1,5 +0,0 @@
-?package(universalindentgui): \
- needs="X11" \
- section="Applications/Programming" \
- title="UniversalIndentgui" \
- command="/usr/bin/universalindentgui"
diff --git a/debian/rules b/debian/rules
index 9c45c12..8a65140 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,19 +1,15 @@
#!/usr/bin/make -f
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-%:
- dh $@ --parallel --buildsystem=qmake_qt4
-
-override_dh_auto_install:
- dh_auto_install
-
- # Remove shellindent
- rm -f debian/universalindentgui/usr/share/universalindentgui/indenters/example.sh
- rm -f debian/universalindentgui/usr/share/universalindentgui/indenters/shellindent.awk
- rm -f debian/universalindentgui/usr/share/universalindentgui/indenters/uigui_shellindent.ini
-
- # Fix lintian warnings/errors
- find debian/universalindentgui/usr/share/universalindentgui -type f -exec chmod a-x '{}' \;
- find debian/universalindentgui/usr/share/universalindentgui -type f -name '*.rb' | xargs chmod a+x
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/cmake.mk
+include debian/cdbs/debian-tde.mk
+
+DEB_CMAKE_EXTRA_FLAGS := \
+ -DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DCONFIG_INSTALL_DIR="/etc/universal-indent-gui-tqt" \
+ -DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \
+ -DCMAKE_VERBOSE_MAKEFILE="ON" \
+ -DBUILD_ALL="ON" \
+ -DCMAKE_SKIP_RPATH="OFF" \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..72f1f54
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1,6 @@
+# Use xz instead of gzip
+compression = "xz"
+compression-level = 9
+
+# Don't run differences
+diff-ignore = .*
diff --git a/debian/universal-indent-gui-tqt.menu b/debian/universal-indent-gui-tqt.menu
new file mode 100644
index 0000000..17418bf
--- /dev/null
+++ b/debian/universal-indent-gui-tqt.menu
@@ -0,0 +1,5 @@
+?package(universal-indent-gui-tqt): \
+ needs="X11" \
+ section="Applications/Programming" \
+ title="Universal Indent Gui TQt" \
+ command="/usr/bin/universal-indent-gui-tqt"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..3f338fa
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,35 @@
+#################################################
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+include_directories(
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}/src
+ ${CMAKE_SOURCE_DIR}/src
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+)
+
+
+##### other data ################################
+
+
+##### tdeio_appinfo (module) #######################
+
+set( target universal-indent-gui-tqt )
+
+set( ${target}_SRCS
+ main.cpp
+)
+
+tde_add_executable( ${target} AUTOMOC
+ SOURCES ${${target}_SRCS}
+ DESTINATION ${BIN_INSTALL_DIR}
+)
diff --git a/src/main.cpp b/src/main.cpp
index 5a1204d..1b6285a 100755
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -17,105 +17,28 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#include "MainWindow.h"
-
-#include "UiGuiIndentServer.h"
-#include "debugging/TSLogger.h"
-#include "UiGuiIniFileParser.h"
-#include "UiGuiSettings.h"
-#include "UiGuiVersion.h"
-#include "UiGuiSystemInfo.h"
-#include "IndentHandler.h"
-#include "SettingsPaths.h"
-
-#include <tntqapplication.h>
-#include <tntqtextcodec.h>
-#include <tqdebug.h>
-
-#include <string>
-#include <iostream>
-#include <algorithm>
-#include <tclap/CmdLine.h>
-
-#ifdef _MSC_VER
-
-#include <windows.h>
-#include <direct.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <io.h>
-#include <iostream>
-#include <fstream>
-
-/**
- \brief Calling this function tries to attach to the console of the parent process and
- redirect all inputs and outputs from and to this console.
-
- The redirected streams are stdout, stdin, stderr, cout, wcout, cin, wcin, wcerr, cerr, wclog and clog.
-
- Code based on info from http://dslweb.nwnexus.com/~ast/dload/guicon.htm.
- */
-bool attachToConsole(/*enum ATTACH_ONLY|TRY_ATTACH_ELSE_CREATE|CREATE_NEW*/)
-{
- int hConHandle;
- long lStdHandle;
- CONSOLE_SCREEN_BUFFER_INFO coninfo;
- FILE *fp;
-
- // Trying to attach to the console of the parent process.
- BOOL successful = AttachConsole(ATTACH_PARENT_PROCESS);
- // In case that the parent process has no console return false and do no input/output redirection.
- if ( !successful )
- return false;
-
- // Set the screen buffer to be big enough to let us scroll text
- GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &coninfo);
- // Set maximum console lines.
- coninfo.dwSize.Y = 500;
- SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), coninfo.dwSize);
-
- // Redirect unbuffered STDOUT to the console.
- lStdHandle = (long)GetStdHandle(STD_OUTPUT_HANDLE);
- hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
- if ( hConHandle != -1 ) {
- fp = _fdopen( hConHandle, "w" );
- *stdout = *fp;
- setvbuf( stdout, NULL, _IONBF, 0 );
- }
-
- // Redirect unbuffered STDIN to the console.
- lStdHandle = (long)GetStdHandle(STD_INPUT_HANDLE);
- hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
- if ( hConHandle != -1 ) {
- fp = _fdopen( hConHandle, "r" );
- *stdin = *fp;
- setvbuf( stdin, NULL, _IONBF, 0 );
- }
-
- // Redirect unbuffered STDERR to the console.
- lStdHandle = (long)GetStdHandle(STD_ERROR_HANDLE);
- hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
- if ( hConHandle != -1 ) {
- fp = _fdopen( hConHandle, "w" );
- *stderr = *fp;
- setvbuf( stderr, NULL, _IONBF, 0 );
- }
-
- // Make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog point to console as well.
- std::ios::sync_with_stdio();
-
- return true;
-}
-#else
-bool attachToConsole()
-{
- return false;
-}
-
-#endif
-
-using namespace tschweitzer::debugging;
+// -- #include "MainWindow.h"
+// --
+// -- #include "UiGuiIndentServer.h"
+// -- #include "debugging/TSLogger.h"
+// -- #include "UiGuiIniFileParser.h"
+// -- #include "UiGuiSettings.h"
+// -- #include "UiGuiVersion.h"
+// -- #include "UiGuiSystemInfo.h"
+// -- #include "IndentHandler.h"
+// -- #include "SettingsPaths.h"
+// --
+// -- #include <tntqapplication.h>
+// -- #include <tntqtextcodec.h>
+// -- #include <tqdebug.h>
+
+// -- #include <string>
+// -- #include <iostream>
+// -- #include <algorithm>
+// -- #include <tclap/CmdLine.h>
+
+
+// -- using namespace tschweitzer::debugging;
/*!
/brief Entry point to UniversalIndentGUI application.
@@ -128,152 +51,121 @@ using namespace tschweitzer::debugging;
If -p and -s are set, -p will be used.
-v --verbose needs a following parameter defining the verbose level as a number from 0 to 3.
*/
-int main(int argc, char *argv[]) {
- TQString file2OpenOnStart = "";
- int verboseLevel = 1;
- bool startAsPlugin = false;
- bool startAsServer = false;
- bool tclapExitExceptionThrown = false;
- int returnValue = 0;
-
- bool attachedToConsole = false;
- attachedToConsole = attachToConsole();
-
-#ifdef __APPLE__
- // Filter out -psn_0_118813 and similar parameters.
- std::vector<char*> argList;
- for ( int i = 0; i < argc; i++ ) {
- TQString argString(argv[i]);
-
- if ( argString.startsWith("-psn_") == false ) {
- argList.push_back(argv[i]);
- }
- else {
-// std::cerr << std::endl << "The parameter "<< i << " is an invalid finder parameter. Parameter was " << argv[i] << std::endl;
- }
- }
- for ( size_t i = 0; i < argList.size(); i++ ) {
- argv[i] = argList.at(i);
- }
- argc = argList.size();
-#endif
-
- // Wrap everything in a try block. Do this every time,
- // because exceptions will be thrown for problems.
- try {
- // Define the command line object.
- TCLAP::CmdLine cmd("If -p and -s are set, -p will be used.\nGiving no parameters starts full gui without server.", ' ', "UiGUI version " PROGRAM_VERSION_STRING " " PROGRAM_REVISION);
- cmd.setExceptionHandling(false);
-
- // Define a value argument and add it to the command line.
- TCLAP::UnlabeledValueArg<std::string> filenameArg("file", "Opens the by filename defined file on start" , false, "", "filename");
- cmd.add( filenameArg );
-
- // Define a switch and add it to the command line.
- TCLAP::SwitchArg pluginSwitch("p", "plugin", "Run as plugin. Server will be started with a simplified gui", false);
- cmd.add( pluginSwitch );
-
- // Define a switch and add it to the command line.
- TCLAP::SwitchArg serverSwitch("s", "server", "Run as server only without gui", false);
- cmd.add( serverSwitch );
-
- // Define a value argument and add it to the command line.
- TCLAP::ValueArg<int> verboselevelArg("v", "verbose", "Sets how many info is written to the log. 0 means with debug info, 3 means critical messages only" , false, 1, "int");
- cmd.add( verboselevelArg );
-
- // Parse the args.
- cmd.parse( argc, argv );
-
- // Get the value parsed by each arg.
- file2OpenOnStart = filenameArg.getValue().c_str();
- startAsPlugin = pluginSwitch.getValue();
- startAsServer = serverSwitch.getValue();
- verboseLevel = verboselevelArg.getValue();
- }
- catch (TCLAP::ArgException &e) { // catch arg exceptions
- std::cerr << std::endl << "error: " << e.error() << ". " << e.argId() << std::endl;
- returnValue = 1;
- }
- catch (TCLAP::ExitException &e) { // catch exit exceptions
- tclapExitExceptionThrown = true;
- returnValue = e.getExitStatus();
- }
- catch (...) { // catch any exceptions
- std::cerr << std::endl << "There was an error! Maybe faulty command line arguments set. See --help." << std::endl;
- returnValue = 1;
- }
-
- if ( returnValue != 0 || tclapExitExceptionThrown ) {
-#ifdef _MSC_VER
- if ( attachedToConsole ) {
- // Workaround for skipped command line prompt: Get the current working directory and print it to console.
- char* buffer;
- if( (buffer = _getcwd( NULL, 0 )) != NULL ) {
- std::cerr << std::endl << buffer << ">";
- free(buffer);
- }
- // Release the connection to the parents console.
- FreeConsole();
- }
-#endif
- return returnValue;
- }
-
- TQApplication app(argc, argv);
- UiGuiIndentServer server;
- MainWindow *mainWindow = NULL;
- IndentHandler *indentHandler = NULL;
-
- // Init and install the logger function.
- // Setting UTF-8 as default 8-Bit encoding to ensure that tqDebug does no false string conversion.
- TQTextCodec::setCodecForCStrings( TQTextCodec::codecForName("UTF-8") );
- TQTextCodec::setCodecForLocale( TQTextCodec::codecForName("UTF-8") );
- // Force creation of an TSLogger instance here, to avoid recursion with SettingsPaths init function.
-#ifdef _DEBUG
- TSLogger::getInstance(0);
-#else
- TSLogger::getInstance(verboseLevel);
-#endif
- qInstallMsgHandler( TSLogger::messageHandler );
- TSLogger::messageHandler( TSLoggerInfoMsg, TQString("Starting UiGUI Version %1 %2").arg(PROGRAM_VERSION_STRING).arg(PROGRAM_REVISION).toAscii() );
- TSLogger::messageHandler( TSLoggerInfoMsg, TQString("Running on %1").arg(UiGuiSystemInfo::getOperatingSystem()).toAscii() );
-
- // Set default values for all by UniversalIndentGUI used settings objects.
- TQCoreApplication::setOrganizationName("UniversalIndentGUI");
- TQCoreApplication::setOrganizationDomain("universalindent.sf.net");
- TQCoreApplication::setApplicationName("UniversalIndentGUI");
-
- // Start normal with full gui and without server.
- if ( !startAsPlugin && !startAsServer ) {
- mainWindow = new MainWindow(file2OpenOnStart);
- mainWindow->show();
- }
- // Start as plugin with server.
- else if ( startAsPlugin ) {
- server.startServer();
- indentHandler = new IndentHandler(0);
- indentHandler->show();
- }
- // Start as server only without any gui.
- else if ( startAsServer ) {
- server.startServer();
- }
-
- try {
- returnValue = app.exec();
- }
- catch (std::exception &ex) {
- qCritical() << __LINE__ << " " << __FUNCTION__ << ": Something went terribly wrong:" << ex.what();
- }
-
- if ( startAsPlugin || startAsServer )
- server.stopServer();
-
- delete indentHandler;
- delete mainWindow;
-
- SettingsPaths::cleanAndRemoveTempDir();
- TSLogger::deleteInstance();
+int main(int argc, char *argv[])
+{
+ return 0;
+// -- TQString file2OpenOnStart = "";
+// -- int verboseLevel = 1;
+// -- bool startAsPlugin = false;
+// -- bool startAsServer = false;
+// -- bool tclapExitExceptionThrown = false;
+// -- int returnValue = 0;
+// --
+// -- // Wrap everything in a try block. Do this every time,
+// -- // because exceptions will be thrown for problems.
+// -- try {
+// -- // Define the command line object.
+// -- TCLAP::CmdLine cmd("If -p and -s are set, -p will be used.\nGiving no parameters starts full gui without server.", ' ', "UiGUI version " PROGRAM_VERSION_STRING " " PROGRAM_REVISION);
+// -- cmd.setExceptionHandling(false);
+// --
+// -- // Define a value argument and add it to the command line.
+// -- TCLAP::UnlabeledValueArg<std::string> filenameArg("file", "Opens the by filename defined file on start" , false, "", "filename");
+// -- cmd.add( filenameArg );
+// --
+// -- // Define a switch and add it to the command line.
+// -- TCLAP::SwitchArg pluginSwitch("p", "plugin", "Run as plugin. Server will be started with a simplified gui", false);
+// -- cmd.add( pluginSwitch );
+// --
+// -- // Define a switch and add it to the command line.
+// -- TCLAP::SwitchArg serverSwitch("s", "server", "Run as server only without gui", false);
+// -- cmd.add( serverSwitch );
+// --
+// -- // Define a value argument and add it to the command line.
+// -- TCLAP::ValueArg<int> verboselevelArg("v", "verbose", "Sets how many info is written to the log. 0 means with debug info, 3 means critical messages only" , false, 1, "int");
+// -- cmd.add( verboselevelArg );
+// --
+// -- // Parse the args.
+// -- cmd.parse( argc, argv );
+// --
+// -- // Get the value parsed by each arg.
+// -- file2OpenOnStart = filenameArg.getValue().c_str();
+// -- startAsPlugin = pluginSwitch.getValue();
+// -- startAsServer = serverSwitch.getValue();
+// -- verboseLevel = verboselevelArg.getValue();
+// -- }
+// -- catch (TCLAP::ArgException &e) { // catch arg exceptions
+// -- std::cerr << std::endl << "error: " << e.error() << ". " << e.argId() << std::endl;
+// -- returnValue = 1;
+// -- }
+// -- catch (TCLAP::ExitException &e) { // catch exit exceptions
+// -- tclapExitExceptionThrown = true;
+// -- returnValue = e.getExitStatus();
+// -- }
+// -- catch (...) { // catch any exceptions
+// -- std::cerr << std::endl << "There was an error! Maybe faulty command line arguments set. See --help." << std::endl;
+// -- returnValue = 1;
+// -- }
+// --
+// -- if ( returnValue != 0 || tclapExitExceptionThrown ) {
+// -- return returnValue;
+// -- }
+// --
+// -- TQApplication app(argc, argv);
+// -- UiGuiIndentServer server;
+// -- MainWindow *mainWindow = NULL;
+// -- IndentHandler *indentHandler = NULL;
+// --
+// -- // Init and install the logger function.
+// -- // Setting UTF-8 as default 8-Bit encoding to ensure that tqDebug does no false string conversion.
+// -- TQTextCodec::setCodecForCStrings( TQTextCodec::codecForName("UTF-8") );
+// -- TQTextCodec::setCodecForLocale( TQTextCodec::codecForName("UTF-8") );
+// -- // Force creation of an TSLogger instance here, to avoid recursion with SettingsPaths init function.
+// -- #ifdef _DEBUG
+// -- TSLogger::getInstance(0);
+// -- #else
+// -- TSLogger::getInstance(verboseLevel);
+// -- #endif
+// -- qInstallMsgHandler( TSLogger::messageHandler );
+// -- TSLogger::messageHandler( TSLoggerInfoMsg, TQString("Starting UiGUI Version %1 %2").arg(PROGRAM_VERSION_STRING).arg(PROGRAM_REVISION).toAscii() );
+// -- TSLogger::messageHandler( TSLoggerInfoMsg, TQString("Running on %1").arg(UiGuiSystemInfo::getOperatingSystem()).toAscii() );
+// --
+// -- // Set default values for all by UniversalIndentGUI used settings objects.
+// -- TQCoreApplication::setOrganizationName("UniversalIndentGUI");
+// -- TQCoreApplication::setOrganizationDomain("universalindent.sf.net");
+// -- TQCoreApplication::setApplicationName("UniversalIndentGUI");
+// --
+// -- // Start normal with full gui and without server.
+// -- if ( !startAsPlugin && !startAsServer ) {
+// -- mainWindow = new MainWindow(file2OpenOnStart);
+// -- mainWindow->show();
+// -- }
+// -- // Start as plugin with server.
+// -- else if ( startAsPlugin ) {
+// -- server.startServer();
+// -- indentHandler = new IndentHandler(0);
+// -- indentHandler->show();
+// -- }
+// -- // Start as server only without any gui.
+// -- else if ( startAsServer ) {
+// -- server.startServer();
+// -- }
+// --
+// -- try {
+// -- returnValue = app.exec();
+// -- }
+// -- catch (std::exception &ex) {
+// -- qCritical() << __LINE__ << " " << __FUNCTION__ << ": Something went terribly wrong:" << ex.what();
+// -- }
+// --
+// -- if ( startAsPlugin || startAsServer )
+// -- server.stopServer();
+// --
+// -- delete indentHandler;
+// -- delete mainWindow;
+// --
+// -- SettingsPaths::cleanAndRemoveTempDir();
+// -- TSLogger::deleteInstance();
+// --
+// -- return returnValue;
- return returnValue;
}