25 Commits

Author SHA1 Message Date
9c35bf150f Updated the Changes.md
FossilOrigin-Name: 2c6269f8f1b5cc9334488c2db77672deab813e1a
2015-08-23 14:11:16 +00:00
739421c31a Preparation for V1.0.1
FossilOrigin-Name: f3d5c35a93cf7285b489307240a6b75fbc8cb3b8
2015-08-21 08:58:22 +00:00
1e41a0e2f2 Added Korean (ko_KR) translation. Thanks ardiefox.
FossilOrigin-Name: 7fa0e987609c9ccb3d1518f21230e26f8a122d5c
2015-08-04 08:22:20 +00:00
f6a1cdfbdd Added Dutch localisation (Thanks Rick Van Lieshout and Fly Man)
Reformated Docs into Markdown


FossilOrigin-Name: c2bac983bbd7ac0b30a8911f9491af593a8b8989
2015-07-23 12:54:38 +00:00
b4b7b5986c Added missing translation file.
FossilOrigin-Name: badb3aa4b79f08bf8768219099b8e2928072f047
2015-07-11 13:39:24 +00:00
6c03dda2dc Added Italian translation. Thanks maxxlupi and Zangune
Sorted the language selection combo-box


FossilOrigin-Name: ddb8c7f5e5fd5b341b90ddafef349af789147d88
2015-07-11 13:38:13 +00:00
15fd9e403d Add support for FreeBSD
FossilOrigin-Name: 0987410cc3fd8d64510e762b1845880a416c27b3
2015-07-08 20:04:10 +00:00
1892d51226 Updated Arch PKGBUILD
FossilOrigin-Name: c446f431e8de6fad9d05dbbfe992e58f256560bb
2015-07-07 18:27:35 +00:00
5d4bd6bd62 Create new branch named "fuel-v1"
FossilOrigin-Name: d27709554e4b5e0bdec5d67061b83cda7e45c997
2015-05-26 17:51:42 +00:00
7873746e15 Set version to 1.0.1
FossilOrigin-Name: e2ba8f0aba679a1c52d36daf3041cd139bd49579
2015-05-12 18:18:33 +00:00
44ea8fe52b Implemented an icon cache to speed-up workspace refresh
FossilOrigin-Name: 964b28f34fae482959ce8a96cbc6106f8702fb33
2015-05-03 19:14:10 +00:00
07ec39ec5f Fixed formatting in building instructions
FossilOrigin-Name: 6b51d631f61ea685cf4ce84b3c34954dcd6338e2
2015-04-25 15:10:40 +00:00
28e4bca233 OSX: Localized menus now integrate better in OSX
FossilOrigin-Name: 9314ddc02dd302435a4aea987f16cb847a1076b6
2015-04-25 14:46:36 +00:00
28f07f22a7 Updated build instructions
FossilOrigin-Name: 3c5332bad121fe233106059c3217d61bf1741a73
2015-04-25 14:45:38 +00:00
156ebb5654 Added Travis-CI build
FossilOrigin-Name: d25b1871b284843ab9abfc0635415ff2373c5ee1
2015-04-24 11:54:07 +00:00
914d238940 Added fossil -> git synchronization script
FossilOrigin-Name: f7f4a3c45d4eefbc9577821d83a47ccdbb495cc0
2015-04-24 10:16:22 +00:00
a221c8f90a Fixed Localization conversion on windows which incorrectly generated Russian for the Portuguese text
FossilOrigin-Name: bde553c9433cc6aebffeb7fb7a06f91e9f13ff61
2015-04-18 19:34:38 +00:00
94f7518b5b Updated localization conversion script
FossilOrigin-Name: ab222d5e30ea8069959b10e083edbad6c5fb8848
2015-04-18 19:08:37 +00:00
db0956be3e Update debian changelog
FossilOrigin-Name: 0305679852d0394c1d40b837fb7449b3f880b418
2015-04-09 11:47:20 +00:00
2fb1d55af4 Covered more cases with an error message when opening a repository failed. Fixes [6e08966e80]
FossilOrigin-Name: d2e3f8c14dafd2ba1b13b6d3b97e12acca400199
2015-04-09 11:46:34 +00:00
c1a3f78fd7 Fossil command-lines are now passed via a temporary file and the new "--args <Filename>" option.
FossilOrigin-Name: 25812c7fba2c2c125e461f59c8c5577252072e99
2015-04-09 11:24:46 +00:00
0dff445061 Allow added files to be reverted. Fixes [72d5fb6fec]
FossilOrigin-Name: d8b0af9783cc0822f0ad32a11446b22b394f0959
2015-04-09 10:49:42 +00:00
342f553703 Localisation conversion script now detects which version lrelease is available in the system
FossilOrigin-Name: 4286422aff75481222f2855360bdc6c18c588e38
2015-03-28 09:56:25 +00:00
a540921de5 Corrected PKGBUILD dependency versions
FossilOrigin-Name: b6bc371c5d50ce549cd2fa53889cc2395b35d810
2015-03-27 18:43:04 +00:00
cee1bf071e Updated PKGBUILD
FossilOrigin-Name: 28586a5428d5c5b0aab1c14a2c858e4eb79e4bed
2015-03-27 18:29:39 +00:00
20 changed files with 4878 additions and 547 deletions

10
.travis.yml Normal file
View File

@ -0,0 +1,10 @@
before_install:
- sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa
- sudo apt-get update -qq
- sudo apt-get install qtbase5-dev qtdeclarative5-dev libqt5webkit5-dev libsqlite3-dev qt5-default qttools5-dev-tools
script:
- intl/convert.sh
- qmake -project
- qmake fuel.pro
- make

11
debian/changelog vendored
View File

@ -1,5 +1,8 @@
fuel (0.9.6-1) unstable; urgency=low fuel (1.0.0-1) unstable; urgency=low
* Feature: Long Operations can now be aborted by pressing the Escape key
* Improvement: Better support for commit messages with international characters
* Improvement: Fossil queries about CR/NL inconsistencies are now handled better
* Improvement: Files in Conflicted state are now shown
* Added localisations: Russia, Portuguese
* Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> -- Kostas <karanikolas@gmail.com> Sat, 28 Mar 2015 12:00:00 +0200
-- Kostas <kostas@unknown> Wed, 08 Oct 2014 12:10:32 +0300

10
dist/arch/PKGBUILD vendored
View File

@ -1,15 +1,15 @@
# Maintainer: Kostas Karanikolas <lastname[at]gmail[dot]com> # Maintainer: Kostas Karanikolas <lastname[at]gmail[dot]com>
pkgname=fuel pkgname=fuel
pkgver=1.0.0 pkgver=1.0.1
pkgrel=1 pkgrel=1
pkgdesc="A GUI front-end to Fossil SCM" pkgdesc="A GUI front-end to Fossil SCM"
arch=(i686 x86_64) arch=(i686 x86_64)
url="http://code.google.com/p/fuel-scm/" url="https://fuel-scm.org/"
license=('GPL2') license=('GPL2')
depends=('qt5-base>=5.4.0', 'qt5-webkit>=5.2.0' 'fossil') depends=('qt5-base>=5.4.0', 'qt5-webkit>=5.4.0' 'fossil')
source=("http://fuelscm.org/files/releases/${pkgname}-${pkgver}.tar.gz") source=("https://fuel-scm.org/files/releases/${pkgname}-${pkgver}.tar.gz")
sha256sums=('905faee12029eafaec9715e6bd5706c57514efa016389e78b78254a7cca0abaa') # Generate with 'makepkg -g' sha256sums=('034593d16eba9e30a73d1b40bfd4f1a7f9ba438a04dc07cc7bb2cd2202da40fc') # Generate with 'makepkg -g'
build() { build() {
cd "${srcdir}" cd "${srcdir}"

View File

@ -3,108 +3,150 @@ Building from Source
Prerequisites Prerequisites
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Building Fuel from source requires Qt version 4. Qt is available at: Building Fuel from source requires Qt version 4 or 5. Qt is available at:
http://qt.nokia.com/downloads http://www.qt.io/download-open-source/
To run Fuel a compiled binary of Fossil must be available either in the system To run Fuel a compiled binary of Fossil must be available either in the system
path or in the same folder as the Fuel executable. You can find the latest path or in the same folder as the Fuel executable. You can find the latest
Fossil binaries from the Fossil homepage at: Fossil binaries from the Fossil homepage at:
http://www.fossil-scm.org/download.html https://www.fossil-scm.org/download.html
Retrieving the source Retrieving the source
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
The source is available as a tar.gz archive at the following location The source is available as a tar.gz archive at the following location
https://fuel-scm.googlecode.com/files/fuel-{VERSION}.tar.gz
So for version 0.9.6 the package name would be fuel-0.9.6.tar.gz
Additionally you can clone the source code directly from Chisel using fossil https://fuel-scm.org/fossil/wiki?name=Downloads
Additionally you can clone the source code directly from our site using fossil
mkdir fuel mkdir fuel
cd fuel cd fuel
fossil clone https://chiselapp.com/user/karanik/repository/fuel fuel.fossil fossil clone https://fuel-scm.org/fossil fuel.fossil
fossil open fuel.fossil fossil open fuel.fossil
Windows Windows (Qt4 / MinGW)
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
1. Open a Command Prompt and cd into the folder containing the Fuel source code 1. Open a Command Prompt and cd into the folder containing the Fuel source code
cd fuel
cd fuel
2. Make a build folder and cd into it 2. Make a build folder and cd into it
md build
cd build
3.1 Build with MinGW md build
3.1.1 Generate the makefile with qmake cd build
3. Generate the makefile with qmake
C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\qmake ..\fuel.pro -r -spec win32-g++ CONFIG+=release C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\qmake ..\fuel.pro -r -spec win32-g++ CONFIG+=release
3.1.2 Build the project 4. Build the project
c:\QtSDK\mingw\bin\mingw32-make c:\QtSDK\mingw\bin\mingw32-make
3.1.3 Copy the Qt DLLs 5. Copy the Qt DLLs
copy C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\QtCore4.dll release copy C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\QtCore4.dll release
copy C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\QtGui4.dll release copy C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\QtGui4.dll release
3.1.4 Copy the MinGW DLLs 6. Copy the MinGW DLLs
copy C:\QtSDK\mingw\bin\libgcc_s_dw2-1.dll release copy C:\QtSDK\mingw\bin\libgcc_s_dw2-1.dll release
copy C:\QtSDK\mingw\bin\mingwm10.dll release copy C:\QtSDK\mingw\bin\mingwm10.dll release
3.2 Build with Visual Studio 2010
3.2.1 Generate the Visual Studio project makefile with qmake Windows (Qt4 / MSVC)
-------------------------------------------------------------------------------
1. Open a Command Prompt and cd into the folder containing the Fuel source code
cd fuel
2. Make a build folder and cd into it
md build
cd build
3. Generate the Visual Studio project makefile with qmake
C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\bin\qmake ..\fuel.pro -tp vc -spec win32-msvc2010 C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\bin\qmake ..\fuel.pro -tp vc -spec win32-msvc2010
3.2.2 Open the generated project 4. Open the generated project
start fuel.vcxproj start fuel.vcxproj
3.2.3 Build the project 5. Build the project
Use the IDE to build the project or alternatively you can use via MSBuild
Alternatively you can build via MSBuild
c:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild Fuel.vcxproj /t:build /p:Configuration=Release c:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild Fuel.vcxproj /t:build /p:Configuration=Release
3.2.4 Copy the Qt DLLs 6. Copy the Qt DLLs
copy C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\bin\QtCore4.dll release copy C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\bin\QtCore4.dll release
copy C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\bin\QtGui4.dll release copy C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\bin\QtGui4.dll release
4. Enjoy 4. Enjoy
release\Fuel.exe
release\Fuel.exe
Mac OS X Mac OS X
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Build Steps: Build Steps:
1. Open a Terminal and cd into the folder containing the Fuel source code 1. Open a Terminal and add your Qt bin folder to the path
cd fuel
2. Generate the makefile with qmake export PATH=$PATH:/path/to/qt/version/clang_64/bin
/path/to/qt/bin/qmake fuel.pro -spec macx-g++ CONFIG+=release
3. Build the project 2. Go into the folder containing the Fuel source code
make
4. (Optional) Include the Fossil executable within the Fuel application bundle cd fuel
cp /location/to/fossil Fuel.app/Contents/MacOS
5. Package Qt dependencies into Fuel to make a standalone application bundle 3. Generate localization files
/path/to/qt/bin/macdeployqt Fuel.app
6. Enjoy intl/convert.sh
open Fuel.app
4. Generate the makefile with qmake
qmake fuel.pro -spec macx-clang CONFIG+=release
5. Build the project
make
6. (Optional) Include the Fossil executable within the Fuel application bundle
cp /location/to/fossil Fuel.app/Contents/MacOS
7. Package Qt dependencies into Fuel to make a standalone application bundle
macdeployqt Fuel.app
8. Enjoy
open Fuel.app
Unix-based OSs Unix-based OS
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Build Steps: Build Steps:
1. cd into the folder containing the Fuel source code 1. cd into the folder containing the Fuel source code
cd fuel
2. Generate the makefile with qmake cd fuel
qmake fuel.pro
3. Build the project 2. Generate localization files
make
4. Enjoy intl/convert.sh
./Fuel
3. Generate the makefile with qmake
qmake fuel.pro
4. Build the project
make
5. Enjoy
./Fuel

View File

@ -1,15 +1,23 @@
Fuel V1.0.1 (2015-08-23)
================================================================================
- Added Localisations:
- Italian (Thanks maxxlupi and Zangune)
- Dutch (Thanks Rick Van Lieshout and Fly Man)
- Korean (Thanks ardiefox)
- Reformated Docs into Markdown
Fuel V1.0.0 (2015-03-28) Fuel V1.0.0 (2015-03-28)
============ ================================================================================
- Feature: Long Operations can now be aborted by pressing the Escape key - Feature: Long Operations can now be aborted by pressing the Escape key
- Improvement: Better support for commit messages with international characters - Improvement: Better support for commit messages with international characters
- Improvement: Fossil queries about CR/NL inconsistencies are now handled better - Improvement: Fossil queries about CR/NL inconsistencies are now handled better
- Improvement: Files in Conflicted state are now shown - Improvement: Files in Conflicted state are now shown
- Localisations: - Localisations:
Russian (Thanks Mouse166) - Russian (Thanks Mouse166)
Portuguese (Thanks emansije) - Portuguese (Thanks emansije)
Fuel V0.9.7 (Unreleased) Fuel V0.9.7 (Unreleased)
============ ================================================================================
- Feature: Optionally use the internal browser for the Fossil UI - Feature: Optionally use the internal browser for the Fossil UI
- Feature: Support for persisting the state (Column order and sizes) of the File View - Feature: Support for persisting the state (Column order and sizes) of the File View
- Feature: Dropping a Fossil checkout file or workspace folder on Fuel now opens that workspace - Feature: Dropping a Fossil checkout file or workspace folder on Fuel now opens that workspace
@ -18,15 +26,15 @@ Fuel V0.9.7 (Unreleased)
and Escape aborts it and Escape aborts it
- Feature: Support for localization - Feature: Support for localization
- Localisations: - Localisations:
French (Thanks Fringale) - French (Thanks Fringale)
German (Thanks stayawake) - German (Thanks stayawake)
Greek - Greek
Spanish (Thanks djnavas) - Spanish (Thanks djnavas)
- Feature: Support for QT5 - Feature: Support for QT5
- Distribution: Fuel is now available in the Arch User Repository - Distribution: Fuel is now available in the Arch User Repository
Fuel V0.9.6 (2012-05-13) Fuel V0.9.6 (2012-05-13)
============ ================================================================================
- Feature: Support for fossil stashes - Feature: Support for fossil stashes
- Feature: Support for dragging and dropping files out of Fuel - Feature: Support for dragging and dropping files out of Fuel
- Feature: Allow for opening workspaces via the checkout file or a workspace folder - Feature: Allow for opening workspaces via the checkout file or a workspace folder
@ -42,3 +50,4 @@ Fuel V0.9.6 (2012-05-13)
- Bug Fix: Fixed issue where a complete repository would be committed even when - Bug Fix: Fixed issue where a complete repository would be committed even when
the user has a specific set of files marked for commit the user has a specific set of files marked for commit
- Misc: Minor GUI bug fixes and usability enhancements - Misc: Minor GUI bug fixes and usability enhancements

View File

@ -20,6 +20,12 @@ macx {
ICON = rsrc/icons/fuel.icns ICON = rsrc/icons/fuel.icns
} }
# FreeBSD needs explicit paths to Qt install
unix:freebsd {
INCLUDEPATH += /usr/local/include
LIBS += -L/usr/local/lib
}
unix:!macx { unix:!macx {
TARGET = fuel TARGET = fuel
ICON = rsrc/icons/fuel.png ICON = rsrc/icons/fuel.png
@ -83,5 +89,7 @@ TRANSLATIONS += \
intl/es_ES.ts \ intl/es_ES.ts \
intl/fr_FR.ts \ intl/fr_FR.ts \
intl/ru_RU.ts \ intl/ru_RU.ts \
intl/pt_PT.ts intl/pt_PT.ts \
intl/it_IT.ts \
intl/nl_NL.ts \
intl/ko_KO.ts \

View File

@ -2,7 +2,7 @@
setlocal EnableDelayedExpansion setlocal EnableDelayedExpansion
set SCRIPTDIR=%CD% set SCRIPTDIR=%CD%
set PRJDIR=%SCRIPTDIR%\.. set PRJDIR=%SCRIPTDIR%\..
set QTPATH=C:\Qt\Qt5.3.1\5.3\mingw482_32 set QTPATH=C:\Qt\5.4\mingw491_32
echo Converting localizations echo Converting localizations
del /q %PRJDIR%\rsrc\intl\* del /q %PRJDIR%\rsrc\intl\*
@ -15,6 +15,9 @@ REM Convert all except the en_US which is the original text in the code
%QTPATH%\bin\lrelease es_ES.ts -qm ..\rsrc\intl\es_ES.qm %QTPATH%\bin\lrelease es_ES.ts -qm ..\rsrc\intl\es_ES.qm
%QTPATH%\bin\lrelease fr_FR.ts -qm ..\rsrc\intl\fr_FR.qm %QTPATH%\bin\lrelease fr_FR.ts -qm ..\rsrc\intl\fr_FR.qm
%QTPATH%\bin\lrelease ru_RU.ts -qm ..\rsrc\intl\ru_RU.qm %QTPATH%\bin\lrelease ru_RU.ts -qm ..\rsrc\intl\ru_RU.qm
%QTPATH%\bin\lrelease ru_RU.ts -qm ..\rsrc\intl\pt_PT.qm %QTPATH%\bin\lrelease pt_PT.ts -qm ..\rsrc\intl\pt_PT.qm
%QTPATH%\bin\lrelease it_IT.ts -qm ..\rsrc\intl\it_IT.qm
%QTPATH%\bin\lrelease nl_NL.ts -qm ..\rsrc\intl\nl_NL.qm
%QTPATH%\bin\lrelease ko_KR.ts -qm ..\rsrc\intl\ko_KR.qm
endlocal endlocal

View File

@ -3,6 +3,18 @@ SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PRJDIR=$SCRIPTDIR/.. PRJDIR=$SCRIPTDIR/..
INTLDIR=$SCRIPTDIR INTLDIR=$SCRIPTDIR
# Detect lrelease tool
if hash lrelease-qt5 2>/dev/null; then
LRELEASE="lrelease-qt5"
elif hash lrelease 2>/dev/null; then
LRELEASE="lrelease"
else
echo "lrelease not found"
exit 1
fi
echo "Using ${LRELEASE}"
echo "Converting localizations" echo "Converting localizations"
rm -rf $PRJDIR/rsrc/intl rm -rf $PRJDIR/rsrc/intl
@ -16,7 +28,7 @@ do
# the original text in the code # the original text in the code
if [ "$BASE" != "en_US" ]; then if [ "$BASE" != "en_US" ]; then
echo "$TARGET" echo "$TARGET"
lrelease-qt5 $i -qm $PRJDIR/rsrc/intl/$BASE.qm $LRELEASE $i -qm $PRJDIR/rsrc/intl/$BASE.qm
fi fi
done done

1375
intl/it_IT.ts Normal file

File diff suppressed because it is too large Load Diff

1373
intl/ko_KR.ts Normal file

File diff suppressed because it is too large Load Diff

1375
intl/nl_NL.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
C Updated\sapplication\sversion C Updated\sthe\sChanges.md
D 2015-03-27T18:25:42.323 D 2015-08-23T14:11:16.693
F debian/changelog 19b96029fa5c46944f5c9ffb9a75ce47a19e1dda F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
F debian/control f4f9bbf38a523520eadbb6f66325d2784297e2a0 F debian/control f4f9bbf38a523520eadbb6f66325d2784297e2a0
F debian/copyright 6bcc83e13533b6cc208f3cd423f1f483163b62ad F debian/copyright 6bcc83e13533b6cc208f3cd423f1f483163b62ad
@ -9,19 +10,22 @@ F debian/menu aa1321fe6597a631df5cc978a3cf7b21ac1a3657
F debian/rules 468914cbcf1bcc252ab3f616e1fdc2b37bc10b5d x F debian/rules 468914cbcf1bcc252ab3f616e1fdc2b37bc10b5d x
F debian/source/format 1064dc0ce263680c076a1005f35ec906a5cf5a32 F debian/source/format 1064dc0ce263680c076a1005f35ec906a5cf5a32
F debian/watch 34f0921ff100a3e16a7ad84dcc303731de830a60 F debian/watch 34f0921ff100a3e16a7ad84dcc303731de830a60
F dist/arch/PKGBUILD e08bdd82de34beeba1ef22ce6b6aa1900637581c F dist/arch/PKGBUILD c9d706805891dadfab933c703e19dc86f084d328
F dist/win/fuel.iss ef3558dbba409eb194938b930377fc9ee27d319e F dist/win/fuel.iss ef3558dbba409eb194938b930377fc9ee27d319e
F doc/Building.txt 7c0f1060d4a08ed330058d4a3a68905c05228381 F doc/Building.md 149d959751ae488829e084a9f88449a08220c1d1
F doc/Changes.txt b03302545e4a6c0b16a30d623a7627f8aef65ef6 F doc/Changes.md 9546f046a1c37ea6011cdae77da24df883a8e0ee
F doc/License.txt 4cc77b90af91e615a64ae04893fdffa7939db84c F doc/License.txt 4cc77b90af91e615a64ae04893fdffa7939db84c
F fuel.pro 844a18c3faf5239e0d0025d8b7feac3900c28e71 F fuel.pro d2d1fd2b3a9169a95e25235e07c7fa8f098a8c40
F intl/convert.bat a4c0198e6df9e39469e81d1d702fccffe74ed691 x F intl/convert.bat 357d461ee8c6a7be6d2f60ac77c3232678ffb513 x
F intl/convert.sh 40ca4d0474063faefb6bd51dd37e0e732a7e82aa x F intl/convert.sh 2ca2179ff53e727f241925b75e19182607883c45 x
F intl/de_DE.ts e2faceab920ac60c97bbc6fba038e261d51fc741 F intl/de_DE.ts e2faceab920ac60c97bbc6fba038e261d51fc741
F intl/el_GR.ts 1b805ee57309d02059d9e3e4cb49d945f9d9ac82 F intl/el_GR.ts 1b805ee57309d02059d9e3e4cb49d945f9d9ac82
F intl/en_US.ts 7917816efedf35d5f4f798d18896d7aa0cb3c71b F intl/en_US.ts 7917816efedf35d5f4f798d18896d7aa0cb3c71b
F intl/es_ES.ts fbddd3374f7999e602536de9870ae1fef0c28ea8 F intl/es_ES.ts fbddd3374f7999e602536de9870ae1fef0c28ea8
F intl/fr_FR.ts 8d2c00ab00927ee5239c1d273f380bbe4cfb2464 F intl/fr_FR.ts 8d2c00ab00927ee5239c1d273f380bbe4cfb2464
F intl/it_IT.ts 54b962cc19ce2e86268da67cea63db53beb751af
F intl/ko_KR.ts fecec68593af8a862f032c0361eaf94a1737736f
F intl/nl_NL.ts ff9b6ae9da5b6ffacc74fc1075a14ad80ebc0429
F intl/pt_PT.ts f93bcc3df5447ab1d85407e1dec4cd68c03d2245 F intl/pt_PT.ts f93bcc3df5447ab1d85407e1dec4cd68c03d2245
F intl/ru_RU.ts 74189b3ee2b30b0b47b2db5bd7c9935db84947fc F intl/ru_RU.ts 74189b3ee2b30b0b47b2db5bd7c9935db84947fc
F intl/update.sh 39d4561630ba6681bb27e7beadc225a31469728f x F intl/update.sh 39d4561630ba6681bb27e7beadc225a31469728f x
@ -182,7 +186,7 @@ F rsrc/icons/Zoom-01.png 67ca532922e9166325c5c75fce1ca3fbb0d2b6a6
F rsrc/icons/fuel.icns 81e535004b62db801a02f3e15d0a33afc9d4070b F rsrc/icons/fuel.icns 81e535004b62db801a02f3e15d0a33afc9d4070b
F rsrc/icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038 F rsrc/icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038
F rsrc/icons/fuel.png 40daf53b7f6bdcdd0d6aa5ef433d078ec5ea4342 F rsrc/icons/fuel.png 40daf53b7f6bdcdd0d6aa5ef433d078ec5ea4342
F rsrc/resources.qrc 4098be128fd6c045db933d041fe8844b14643a6f F rsrc/resources.qrc 3dee01bfbf8b9ec67a04b9259f4fd358f33356b7
F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056 F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056
F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597 F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597
F src/CloneDialog.cpp 812ef7d361c16da21540b7047c9d4d5e74f18539 F src/CloneDialog.cpp 812ef7d361c16da21540b7047c9d4d5e74f18539
@ -197,21 +201,22 @@ F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2
F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261 F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
F src/MainWindow.cpp a228d45fde194eace0cb7833d3da8757b49142ab F src/MainWindow.cpp 96c1c733e719774038f8f4e4bb93194e358caa40
F src/MainWindow.h dc0a9ed7de8a338e56c38c00ec303796f31bd24d F src/MainWindow.h 77038e9c9fe8a64a1c2dfb8d4c2be7558ab5f372
F src/SettingsDialog.cpp a46cff5e5dd425e3dbdd15632abfd5829f5562b4 F src/SettingsDialog.cpp 8fe0aacdca6694fe6711ec2b5ff4e54c7b426769
F src/SettingsDialog.h 4e2790f581e991c744ae9f86580f1972b8c7ff43 F src/SettingsDialog.h 4e2790f581e991c744ae9f86580f1972b8c7ff43
F src/Utils.cpp 9aff456712e4276b49083426301b3b96d3819c77 F src/Utils.cpp 9aff456712e4276b49083426301b3b96d3819c77
F src/Utils.h c546e478a1225a28c99cd4c30f70cf9be9804a2a F src/Utils.h c546e478a1225a28c99cd4c30f70cf9be9804a2a
F src/main.cpp 0bba433f16072096cba1d48733b4e801df144800 F src/main.cpp e1217b2331f1b0fd30756fc80a72f9676f09cf6b
F tools/git-push.sh 62cc58434cae5b7bcd6bd9d4cce8b08739f31cd7 x
F tools/pack.sh d7f38a498c4e9327fecd6a6e5ac27be270d43008 x F tools/pack.sh d7f38a498c4e9327fecd6a6e5ac27be270d43008 x
F ui/BrowserWidget.ui 5ad98b13773afadb20a1a2c22148aaebe5dbd95d F ui/BrowserWidget.ui 5ad98b13773afadb20a1a2c22148aaebe5dbd95d
F ui/CloneDialog.ui 4886e7d4f258ea8b852b5eefc860396e35145712 F ui/CloneDialog.ui 4886e7d4f258ea8b852b5eefc860396e35145712
F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f
F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d
F ui/MainWindow.ui 7ede8bbb54513e0771fdf5d5a2566d88c81b73ad F ui/MainWindow.ui 8677f5c8bca5bf7561d5f64bfdd0cef5157c6ac7
F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b
P ca68fe622ce88483d769d78281f7e98ed0f70e9e P f3d5c35a93cf7285b489307240a6b75fbc8cb3b8
R 0d1dd353890d2cf810a406f276a6938b R d1cdbc42fc1a9f327c9de335a7e9bf81
U kostas U kostas
Z a91ed61381f99fa788c67281b0b4d5ce Z 7390102f93cb735aad85da46b9b95e70

View File

@ -1 +1 @@
f1c343a9ee2e43baf5ba2bc5c2e34a8dd7215ac9 2c6269f8f1b5cc9334488c2db77672deab813e1a

View File

@ -159,5 +159,8 @@
<file>intl/fr_FR.qm</file> <file>intl/fr_FR.qm</file>
<file>intl/ru_RU.qm</file> <file>intl/ru_RU.qm</file>
<file>intl/pt_PT.qm</file> <file>intl/pt_PT.qm</file>
<file>intl/it_IT.qm</file>
<file>intl/nl_NL.qm</file>
<file>intl/ko_KR.qm</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@ -6,7 +6,6 @@
#include <QDrag> #include <QDrag>
#include <QDragEnterEvent> #include <QDragEnterEvent>
#include <QFileDialog> #include <QFileDialog>
#include <QFileIconProvider>
#include <QInputDialog> #include <QInputDialog>
#include <QLabel> #include <QLabel>
#include <QMessageBox> #include <QMessageBox>
@ -349,14 +348,20 @@ bool MainWindow::openWorkspace(const QString &path)
else else
{ {
if(!QDir(wkspace).exists()) if(!QDir(wkspace).exists())
{
QMessageBox::critical(this, tr("Error"), tr("Could not open repository."), QMessageBox::Ok );
return false; return false;
}
setCurrentWorkspace(wkspace); setCurrentWorkspace(wkspace);
} }
} }
else else
{ {
if(!QDir(wkspace).exists()) if(!QDir(wkspace).exists())
{
QMessageBox::critical(this, tr("Error"), tr("Could not open repository."), QMessageBox::Ok );
return false; return false;
}
setCurrentWorkspace(wkspace); setCurrentWorkspace(wkspace);
} }
@ -836,7 +841,7 @@ _done:
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
static void addPathToTree(QStandardItem &root, const QString &path) static void addPathToTree(QStandardItem &root, const QString &path, const QIcon &folderIcon)
{ {
QStringList dirs = path.split('/'); QStringList dirs = path.split('/');
QStandardItem *parent = &root; QStandardItem *parent = &root;
@ -862,7 +867,7 @@ static void addPathToTree(QStandardItem &root, const QString &path)
if(!found) // Generate it if(!found) // Generate it
{ {
QStandardItem *child = new QStandardItem(QIcon(":icons/icons/Folder-01.png"), dir); QStandardItem *child = new QStandardItem(folderIcon, dir);
child->setData(fullpath); // keep the full path to simplify selection child->setData(fullpath); // keep the full path to simplify selection
parent->appendRow(child); parent->appendRow(child);
parent = child; parent = child;
@ -881,7 +886,7 @@ void MainWindow::updateDirView()
header << tr("Folders"); header << tr("Folders");
repoDirModel.setHorizontalHeaderLabels(header); repoDirModel.setHorizontalHeaderLabels(header);
QStandardItem *root = new QStandardItem(QIcon(":icons/icons/My Documents-01.png"), projectName); QStandardItem *root = new QStandardItem(getInternalIcon(":icons/icons/My Documents-01.png"), projectName);
root->setData(""); // Empty Path root->setData(""); // Empty Path
root->setEditable(false); root->setEditable(false);
@ -892,7 +897,7 @@ void MainWindow::updateDirView()
if(dir.isEmpty()) if(dir.isEmpty())
continue; continue;
addPathToTree(*root, dir); addPathToTree(*root, dir, getInternalIcon(":icons/icons/Folder-01.png"));
} }
ui->treeView->expandToDepth(0); ui->treeView->expandToDepth(0);
ui->treeView->sortByColumn(0, Qt::AscendingOrder); ui->treeView->sortByColumn(0, Qt::AscendingOrder);
@ -916,8 +921,6 @@ void MainWindow::updateFileView()
{ RepoFile::TYPE_CONFLICTED, tr("Conflicted"), ":icons/icons/Button Blank Red-01.png" }, { RepoFile::TYPE_CONFLICTED, tr("Conflicted"), ":icons/icons/Button Blank Red-01.png" },
}; };
QFileIconProvider icon_provider;
bool display_path = viewMode==VIEWMODE_LIST || selectedDirs.count() > 1; bool display_path = viewMode==VIEWMODE_LIST || selectedDirs.count() > 1;
size_t item_id=0; size_t item_id=0;
@ -944,20 +947,26 @@ void MainWindow::updateFileView()
} }
} }
QStandardItem *status = new QStandardItem(QIcon(status_icon_path), status_text); QStandardItem *status = new QStandardItem(getInternalIcon(status_icon_path), status_text);
status->setToolTip(status_text); status->setToolTip(status_text);
repoFileModel.setItem(item_id, COLUMN_STATUS, status); repoFileModel.setItem(item_id, COLUMN_STATUS, status);
QFileInfo finfo = e.getFileInfo(); QFileInfo finfo = e.getFileInfo();
QIcon icon = icon_provider.icon(finfo); QString icon_type = iconProvider.type(finfo);
if(!iconCache.contains(icon_type))
iconCache.insert(icon_type, iconProvider.icon(finfo));
const QIcon *icon = &iconCache[icon_type];
QStandardItem *filename_item = 0; QStandardItem *filename_item = 0;
repoFileModel.setItem(item_id, COLUMN_PATH, new QStandardItem(path)); repoFileModel.setItem(item_id, COLUMN_PATH, new QStandardItem(path));
if(display_path) if(display_path)
filename_item = new QStandardItem(icon, QDir::toNativeSeparators(e.getFilePath())); filename_item = new QStandardItem(*icon, QDir::toNativeSeparators(e.getFilePath()));
else else
filename_item = new QStandardItem(icon, e.getFilename()); filename_item = new QStandardItem(*icon, e.getFilename());
Q_ASSERT(filename_item); Q_ASSERT(filename_item);
// Keep the path in the user data // Keep the path in the user data
@ -1109,6 +1118,8 @@ bool MainWindow::runFossilRaw(const QStringList &args, QStringList *output, int
QString fossil = getFossilPath(); QString fossil = getFossilPath();
// Detached processes use the command-line only, to avoid having to wait
// for the temporary args file to be released before returing
if(detached) if(detached)
return QProcess::startDetached(fossil, args, wkdir); return QProcess::startDetached(fossil, args, wkdir);
@ -1118,11 +1129,37 @@ bool MainWindow::runFossilRaw(const QStringList &args, QStringList *output, int
status_msg = QString("Fossil %0").arg(args[0].toCaseFolded()); status_msg = QString("Fossil %0").arg(args[0].toCaseFolded());
ScopedStatus status(status_msg, ui, progressBar); ScopedStatus status(status_msg, ui, progressBar);
// Generate args file
const QStringList *final_args = &args;
QTemporaryFile args_file;
if(!args_file.open())
{
QMessageBox::critical(this, tr("Error"), tr("Could not generate command line file"), QMessageBox::Ok );
return false;
}
// Write BOM
args_file.write(reinterpret_cast<const char *>(UTF8_BOM), sizeof(UTF8_BOM));
// Write Args
foreach(const QString &arg, args)
{
args_file.write(arg.toUtf8());
args_file.write("\n");
}
args_file.close();
// Replace args with args filename
QStringList run_args;
run_args.append("--args");
run_args.append(args_file.fileName());
final_args = &run_args;
// Create fossil process // Create fossil process
LoggedProcess process(this); LoggedProcess process(this);
process.setWorkingDirectory(wkdir); process.setWorkingDirectory(wkdir);
process.start(fossil, args); process.start(fossil, *final_args);
if(!process.waitForStarted()) if(!process.waitForStarted())
{ {
log(tr("Could not start Fossil executable '%0'").arg(fossil)+"\n"); log(tr("Could not start Fossil executable '%0'").arg(fossil)+"\n");
@ -1931,7 +1968,7 @@ void MainWindow::on_actionDelete_triggered()
void MainWindow::on_actionRevert_triggered() void MainWindow::on_actionRevert_triggered()
{ {
QStringList modified_files; QStringList modified_files;
getSelectionFilenames(modified_files, RepoFile::TYPE_EDITTED|RepoFile::TYPE_DELETED|RepoFile::TYPE_MISSING|RepoFile::TYPE_CONFLICTED); getSelectionFilenames(modified_files, RepoFile::TYPE_EDITTED|RepoFile::TYPE_ADDED|RepoFile::TYPE_DELETED|RepoFile::TYPE_MISSING|RepoFile::TYPE_CONFLICTED);
if(modified_files.empty()) if(modified_files.empty())
return; return;
@ -2051,6 +2088,11 @@ void MainWindow::on_actionAbout_triggered()
"Fringale: fr_FR\n" "Fringale: fr_FR\n"
"mouse166: ru_RU\n" "mouse166: ru_RU\n"
"emansije: pt_PT\n" "emansije: pt_PT\n"
"maxxlupi: it_IT\n"
"Zangune: it_IT\n"
"Fly Man: nl_NL\n"
"Rick Van Lieshout: nl_NL\n"
"ardiefox: ko_KR\n"
); );
} }
@ -2413,6 +2455,16 @@ QMenu * MainWindow::createPopupMenu()
return NULL; return NULL;
} }
//------------------------------------------------------------------------------
const QIcon &MainWindow::getInternalIcon(const char* name)
{
if(iconCache.contains(name))
return iconCache[name];
iconCache.insert(name, QIcon(name));
return iconCache[name];
}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void MainWindow::on_actionViewStash_triggered() void MainWindow::on_actionViewStash_triggered()
{ {

View File

@ -8,6 +8,7 @@
#include <QFileInfo> #include <QFileInfo>
#include <QDir> #include <QDir>
#include <QProcess> #include <QProcess>
#include <QFileIconProvider>
#include <QSet> #include <QSet>
#include "SettingsDialog.h" #include "SettingsDialog.h"
@ -170,6 +171,7 @@ private:
void dropEvent(class QDropEvent *event); void dropEvent(class QDropEvent *event);
void setBusy(bool busy); void setBusy(bool busy);
virtual QMenu *createPopupMenu(); virtual QMenu *createPopupMenu();
const QIcon& getInternalIcon(const char *name);
enum RepoStatus enum RepoStatus
{ {
@ -242,8 +244,11 @@ private:
MAX_RECENT=5 MAX_RECENT=5
}; };
typedef QMap<QString, QIcon> icon_map_t;
Ui::MainWindow *ui; Ui::MainWindow *ui;
QFileIconProvider iconProvider;
icon_map_t iconCache;
QStandardItemModel repoFileModel; QStandardItemModel repoFileModel;
QStandardItemModel repoDirModel; QStandardItemModel repoDirModel;
QStandardItemModel repoStashModel; QStandardItemModel repoStashModel;

View File

@ -154,13 +154,16 @@ void SettingsDialog::on_btnClearMessageHistory_clicked()
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void SettingsDialog::CreateLangMap() void SettingsDialog::CreateLangMap()
{ {
langMap.append(LangMap("de_DE", "German (DE)")); langMap.append(LangMap("nl_NL", "Dutch (NL)"));
langMap.append(LangMap("el_GR", "Greek"));
langMap.append(LangMap("en_US", "English (US)")); langMap.append(LangMap("en_US", "English (US)"));
langMap.append(LangMap("es_ES", "Spanish (ES)"));
langMap.append(LangMap("fr_FR", "French (FR)")); langMap.append(LangMap("fr_FR", "French (FR)"));
langMap.append(LangMap("ru_RU", "Russian (RU)")); langMap.append(LangMap("de_DE", "German (DE)"));
langMap.append(LangMap("el_GR", "Greek (GR)"));
langMap.append(LangMap("it_IT", "Italian (IT)"));
langMap.append(LangMap("ko_KR", "Korean (KO)"));
langMap.append(LangMap("pt_PT", "Portuguese (PT)")); langMap.append(LangMap("pt_PT", "Portuguese (PT)"));
langMap.append(LangMap("ru_RU", "Russian (RU)"));
langMap.append(LangMap("es_ES", "Spanish (ES)"));
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@ -5,7 +5,7 @@ int main(int argc, char *argv[])
{ {
QApplication app(argc, argv); QApplication app(argc, argv);
app.setApplicationName("Fuel"); app.setApplicationName("Fuel");
app.setApplicationVersion("1.0.0"); app.setApplicationVersion("1.0.1");
app.setOrganizationDomain("fuel-scm.org"); app.setOrganizationDomain("fuel-scm.org");
app.setOrganizationName("Fuel-SCM"); app.setOrganizationName("Fuel-SCM");

17
tools/git-push.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
export MARKS=marks
export DUMP=changes.fastexport
export REPO=fuel.fossil
if [ ! -f $MARKS-fossil ]; then
touch $MARKS-fossil
fi
fossil export --git --import-marks $MARKS-fossil --export-marks $MARKS-fossil $REPO >$DUMP
if [ ! -f $MARKS-git ]; then
touch $MARKS-git
fi
git fast-import --export-marks=$MARKS-git --import-marks=$MARKS-git <$DUMP

File diff suppressed because it is too large Load Diff