Commit c7a55126 authored by Joachim Eibl's avatar Joachim Eibl

KDiff3 0.9.95


git-svn-id: https://kdiff3.svn.sourceforge.net/svnroot/kdiff3/trunk@96 c8aa9fed-2811-0410-8543-893ada326672
parent 98456f04
Version 0.9.93 - 2008/01/06
Version 0.9.95 - 2009/03/03
===========================
- Show line end style for each file.
- Updated message translations.
- Fixed permissions when writing executable file. (Un*x only)
- Fixed IgnorableCmdLineOptions (important for SVNs '-u'-option)
- Directory merge: Error when either B or C is changed and the other is deleted. (User choice required.)
- Qt-only Un*x-version looks for translations in /usr/share/locale/<lang>/LC_MESSAGES/kdiff3.qm
(for Debian, by Eike Sauer)
- New script: po/create_qm_files: To create and install translations for Qt-only version.
Version 0.9.94 - 2009/01/17
===========================
- Fix for hidden text windows with --auto-flag.
- Fix for pasting clipboard truncated text if it contained characters that needed more than one byte in UTF-8 encoding.
- Fix for horizontal scrolling if word wrap is enabled.
- Directory tree: files hidden due to options (e.g. patterns etc.) don't affect folder equality any more.
- KDE: KIO-progress dialog is now hidden. (KDiff3 has its own progress dialog.)
- Directory merge: Default op for change in either B or C and delete in the other is now merge (previously copy).
- Directory merge: Not preserving merge operation after reload, because it might have changed.
Version 0.9.93 - 2009/01/06
===========================
- Support for KDE4 (with much porting help from Valentin Rusu)
- Fix for diff_ext_for_kdiff3 (by Sergey Zorin)
- Win32-Installation: SendTo-integration fixed for Vista.
- Optional auto detection of line end style for saving.
- Option to close on ESC (default is off)
- Option to align B and C for 3 input files (default is off which is usually better for merging).
Version 0.9.92 - 2007/04/15
===========================
......
......@@ -2,14 +2,14 @@ KDiff3-Readme
=============
Author: Joachim Eibl (joachim.eibl at gmx.de)
Copyright: (C) 2002-2008 by Joachim Eibl
KDiff3-Version: 0.9.93
Copyright: (C) 2002-2009 by Joachim Eibl
KDiff3-Version: 0.9.94
KDiff3 runs best on KDE but can be built without it, depending only on Qt-libs.
These are available for Un*x, Windows, Mac.
Thus there are many setup possibilities to consider.
From version 0.9.93 on the main target platform is KDE4/Qt4.
From version 0.9.94 on the main target platform is KDE4/Qt4.
For KDiff3 for KDE3/Qt3 use KDiff3-0.9.92 or older.
Contents
......@@ -24,6 +24,7 @@ Contents
- for Windows
- Debugging with MinGW under Windows:
- for Mac: Building KDiff3 for Mac OSX (with Intel processor) as a universal binary
- Creating and installing translation messages
- Additional hints
......@@ -75,7 +76,7 @@ Requirements & Installation
---------------------------
- for KDE4:
From version 0.9.93 on KDiff3 supports KDE4.
From version 0.9.94 on KDiff3 supports KDE4.
For installation on most distributions you usually also require these packages (names as on opensuse):
- g++ (g++, version 3.4 or newer)
- libqt4-devel (Qt4-libs, version 4.4.0 or newer)
......@@ -113,10 +114,10 @@ Requirements & Installation
- for Windows
- for Mac
The version 0.9.93 requires Qt 4.4.0 or newer (from www.trolltech.com) for compilation.
The version 0.9.94 requires Qt 4.4.0 or newer (from www.trolltech.com) for compilation.
You always need
- kdiff3-0.9.93.tar.gz
- kdiff3-0.9.94.tar.gz
- for Un*x: gcc, g++ with version >=3.4.2
Qt-X11-libraries
......@@ -141,14 +142,14 @@ Requirements & Installation
Build-instructions (Un*x):
- Make sure your shell-variable QTDIR is correct and that
your path contains the Qt4-bin-directory.
- cd into the directory kdiff3-0.9.93/src-QT4 and type
- cd into the directory kdiff3-0.9.94/src-QT4 and type
- qmake kdiff3.pro
- make (or "gmake" for GNU-Make)
Build-instructions (Windows):
- set QTDIR=<QT4-dir> e.g.: c:\qt\4.4.1
set "PATH=%QTDIR%\bin;%PATH%"
- cd into the directory kdiff3-0.9.93\src-Qt4 and type
- cd into the directory kdiff3-0.9.94\src-Qt4 and type
- qmake kdiff3.pro
- Either "nmake" for Visual Studio or "mingw32-make" depending on what you have.
......@@ -157,7 +158,7 @@ Requirements & Installation
- Debugging without gdb on the console:
- The qt-win-opensource-4.4.1-mingw.exe only installs release dlls. You will have to compile the
debug dlls yourself. Enter the qt-4.4.1-directory and run "configure -debug" and then "mingw32-make".
- cd into the directory kdiff3-0.9.93\src-Qt4
- cd into the directory kdiff3-0.9.94\src-Qt4
- edit the file "Makefile.Debug" and in the LFLAGS replace "-Wl,-subsystem,windows" with "-Wl,-subsystem,console"
(this is necessary so that gdb can send a break signal to the running program)
- mingw32-make debug (create a debuggable executable)
......@@ -170,16 +171,28 @@ Requirements & Installation
Building KDiff3 (Qt4) for Mac OSX (with Intel processor) as a universal binary (by Michael Schmidt)
1) Install Qt/Mac 4.x with thread support, static libraries and universal flag.
(For Qt4 run "configure -static"; only necessary if the final binary should not require shared Qt4-libs.)
2) cd .../kdiff3-0.9.93/src-QT4
2) cd .../kdiff3-0.9.94/src-QT4
3a) Create a makefile for kdiff3 by executing:
qmake kdiff3.pro
3b) optionally generate XCode-Project (for debugging purposes only) by executing:
qmake -spec macx-xcode kdiff3.pro
4) Execute:
make
5) After the build completes copy kdiff3 from the kdiff3-0.9.93/src-QT4 directory to
5) After the build completes copy kdiff3 from the kdiff3-0.9.94/src-QT4 directory to
/Applications
Creating and installing the translation messages
The po directory contains translations from the KDE-translation teams.
If you use the Qt-only-version of KDiff3, then the installation described above
won't install translations automatically.
To create and install the translations:
0) Make sure /usr/lib/qt3/bin/msg2qm exists
(comes with qt3-devel-tools. [Yes, really Qt3. There is no Qt4 replacement yet.])
1) cd .../kdiff3-0.9.95/po
2) sh create_qm_files install (asks for a super user password)
Just to create the files in the po directory (as needed for the windows version):
2) sh create_qm_files local
(End of KDiff3 with Qt4-instructions)
------------------------------------------------------------------------
......
Name: kdiff3
Version: 0.9.93
Version: 0.9.95
Release: 1
URL: http://www.kde-apps.org/content/show.php?content=9807
......@@ -15,6 +15,7 @@ BuildRequires: gcc-c++ >= 4.1
BuildRequires: xorg-x11-devel
BuildRequires: qt-devel >= 4.4
BuildRequires: kdelibs-devel >= 4.1
BuildRequires: libkonq-devel >= 4.1
%description
Shows the differences line by line and character by character (!).
......@@ -56,7 +57,7 @@ source /etc/profile.d/qt.sh
%{_libdir}/kde4/libkdiff3*
%changelog
* Fri Nov 21 2008 Joachim Eibl - 0.9.93-1
* Fri Nov 21 2008 Joachim Eibl - 0.9.94-1
- Untested changes for KDE4.
* Mon May 15 2006 Vadim Likhota <vadim-lvv@yandex.ru> - 0.9.90-1.fc
- write spec for fc/rhel/centos/asp for kdiff3
......
......@@ -3,8 +3,10 @@ Encoding=UTF-8
Type=Service
Name=Compare/Merge Files/Directories
Name[bg]=Сравняване/Сливане на файлове/директории
Name[cs]=Porovnat/spojit soubory/adresáře
Name[de]=Dateien und Ordner vergleichen und zusammenführen
Name[el]=Σύγκριση/Συγχώνευση αρχείων/καταλόγων
Name[es]=Comparar/mezclar archivos/carpetas
Name[es]=Comparar/fusionar archivos/directorios
Name[et]=Failide/kataloogide võrdlemine/liitmine
Name[fr]=Comparer / Fusionner les fichiers / dossiers
Name[ga]=Comhaid/Comhadlanna a Chur i gComparáid/a Chumasc
......
......@@ -3,8 +3,10 @@ Encoding=UTF-8
Type=Service
Name=Compare/Merge Files/Directories with KDiff3
Name[bg]=Сравняване/Сливане на файлове/директории с KDiff3
Name[cs]=Porovnat/spojit soubory/adresáře pomocí KDiff3
Name[de]=Dateien und Ordner vergleichen und zusammenführen mit KDiff3
Name[el]=Σύγκριση/Συγχώνευση αρχείων/καταλόγων με το KDiff3
Name[es]=Comparar/mezclar archivos/carpetas con KDiff3
Name[es]=Comparar/fusionar archivos/directorios con KDiff3
Name[et]=Failide/kataloogide võrdlemine/liitmine KDiff3-ga
Name[fr]=Comparer / Fusionner les fichiers / dossiers à l'aide de KDiff3
Name[ga]=Comhaid/Comhadlanna a Chur i gComparáid/a Chumasc le KDiff3
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -2,18 +2,19 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Vit Pelcak, 2008.
# Vit Pelcak <vit@pelcak.org>, 2009.
msgid ""
msgstr ""
"Project-Id-Version: kdiff3plugin\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-08-05 08:32+0200\n"
"PO-Revision-Date: 2008-11-23 13:35+0100\n"
"Last-Translator: Vit Pelcak\n"
"PO-Revision-Date: 2009-01-29 10:02+0100\n"
"Last-Translator: Vit Pelcak <vit@pelcak.org>\n"
"Language-Team: Czech <kde-i18n-doc@lists.kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 0.2\n"
"X-Generator: Lokalize 0.3\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: kdiff3plugin.cpp:107
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
# tradução do kdiff3plugin.po para Brazilian Portuguese
# translation of kdiff3plugin.po to Brazilian Portuguese
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
#
# Luiz Fernando Ranghetti <elchevive@opensuse.org>, 2008.
# André Marcelo Alvarenga <andrealvarenga@gmx.net>, 2008.
# André Marcelo Alvarenga <andrealvarenga@gmx.net>, 2008, 2009.
msgid ""
msgstr ""
"Project-Id-Version: kdiff3plugin\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-08-05 08:32+0200\n"
"PO-Revision-Date: 2008-11-26 00:22-0200\n"
"PO-Revision-Date: 2009-01-10 01:35-0200\n"
"Last-Translator: André Marcelo Alvarenga <andrealvarenga@gmx.net>\n"
"Language-Team: Brazilian Portuguese <kde-i18n-pt_br@mail.kde.org>\n"
"MIME-Version: 1.0\n"
......@@ -36,11 +35,11 @@ msgstr "Mesclar com %1"
#: kdiff3plugin.cpp:126
#, kde-format
msgid "Save '%1' for later"
msgstr ""
msgstr "Salvar '%1' para mais tarde"
#: kdiff3plugin.cpp:132
msgid "3-way merge with base"
msgstr ""
msgstr "Mescar 3 níveis com a base"
#: kdiff3plugin.cpp:139
msgid "Compare with ..."
......@@ -56,7 +55,7 @@ msgstr "Comparar"
#: kdiff3plugin.cpp:163
msgid "3 way comparison"
msgstr ""
msgstr "Comparação em 3 níveis"
#: kdiff3plugin.cpp:167
msgid "About KDiff3 menu plugin ..."
......@@ -84,3 +83,13 @@ msgid ""
"destination.\n"
"Same also applies to directory comparison and merge."
msgstr ""
"Utilização da extensão do menu de contexto:\n"
"Para uma comparação simples de dois arquivos selecionados, escolha a opção "
"\"Comparar\".\n"
"Se o outro arquivo não estiver no mesmo local, você pode \"Salvar\" o "
"primeiro arquivo mais tarde. Aparecerá então no submenu \"Comparar com...\". "
"Então poderá usar a opção \"Comparar com\" no segundo arquivo.\n"
"Para uma mesclagem em 3 níveis, primeiro pode \"Salvar\" o arquivo de base, "
"depois a ramificação a reunir e depois escolha a opção \"mesclar a 3 níveis "
"com a base\" sobre a ramificação que servirá de destino.\n"
"O mesmo se aplica à comparação e reunião de pastas."
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
#
# Serdar Soytetir <tulliana@gmail.com>, 2008.
# Serdar Soytetir <tulliana@gmail.com>, 2008, 2009.
msgid ""
msgstr ""
"Project-Id-Version: kdiff3plugin\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-08-05 08:32+0200\n"
"PO-Revision-Date: 2008-08-02 15:52+0300\n"
"PO-Revision-Date: 2009-01-30 00:48+0200\n"
"Last-Translator: Serdar Soytetir <tulliana@gmail.com>\n"
"Language-Team: Turkish <yerellestirme@kde.org.tr>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 0.2\n"
"X-Generator: Lokalize 0.3\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: kdiff3plugin.cpp:107
......@@ -70,17 +70,6 @@ msgstr ""
"\n"
#: kdiff3plugin.cpp:271
#, fuzzy
#| msgid ""
#| "Using the contextmenu extension:\n"
#| "For simple comparison of two selected 2 files choose \"Compare\".\n"
#| "If the other file is somewhere else \"Save\" the first file for later. It "
#| "will appear in the \"Compare With ...\" submenu. Then use \"Compare With"
#| "\" on second file.\n"
#| "For a 3-way merge first \"Save\" the base file, then the branch to merge "
#| "and choose \"3-way merge with base\" on the other branch which will be "
#| "used as destination.\n"
#| "Same also applies to directory comparison and merge."
msgid ""
"Using the contextmenu extension:\n"
"For simple comparison of two selected files choose \"Compare\".\n"
......@@ -92,13 +81,3 @@ msgid ""
"destination.\n"
"Same also applies to directory comparison and merge."
msgstr ""
"İçerik menüsü eklentisinin kullanımı:\n"
"Seçilen iki dosyanın basit karşılaştırması için \"Karşılaştır\" ögesini "
"seçin.\n"
"Eğer diğer dosya başka bir yerdeyse ilk dosyayı sonrası için \"Kaydedin\". "
"\"Karşılaştır ...\" alt menüsünde bulabilirsiniz. Daha sonra ikinci dosya "
"üzerinde \"Karşılaştır...\" ögesini kullanın.\n"
"3-yollu bir birleştirme için önce temel dosyayı, sonra birleştirilecek kısmı "
"\"Kaydedin\" ve hedef olarak kullanılacak diğer bölüm üzerinde \"temelle 3-"
"yollu birleştirme\"yi seçin\n"
"Aynı yöntem dizin karşılaştırma ve birleştirme için de geçerlidir."
This diff is collapsed.
This diff is collapsed.
......@@ -244,7 +244,8 @@ void SourceData::setData( const QString& data )
}
FileAccess f( m_tempInputFileName );
bool bSuccess = f.writeFile( QTextCodec::codecForName("UTF-8")->fromUnicode(data), data.length() );
QByteArray ba = QTextCodec::codecForName("UTF-8")->fromUnicode(data);
bool bSuccess = f.writeFile( ba.constData(), ba.length() );
if ( !bSuccess )
{
KMessageBox::error( m_pOptionDialog, i18n("Writing clipboard data to temp file failed.") );
......
......@@ -68,9 +68,17 @@ public:
m_scrollDeltaY = 0;
m_bMyUpdate = false;
m_bSelectionInProgress = false;
m_pTextCodec = 0;
#ifdef _WIN32
m_eLineEndStyle = eLineEndStyleDos;
#else
m_eLineEndStyle = eLineEndStyleUnix;
#endif
}
DiffTextWindow* m_pDiffTextWindow;
DiffTextWindowFrame* m_pDiffTextWindowFrame;
QTextCodec* m_pTextCodec;
e_LineEndStyle m_eLineEndStyle;
bool m_bPaintingAllowed;
const LineData* m_pLineData;
......@@ -153,7 +161,7 @@ DiffTextWindow::DiffTextWindow(
setAcceptDrops( true );
d->m_pOptionDialog = pOptionDialog;
init( 0, 0, 0, 0, 0, false );
init( 0, 0, d->m_eLineEndStyle, 0, 0, 0, 0, false );
setMinimumSize(QSize(20,20));
......@@ -172,6 +180,8 @@ DiffTextWindow::~DiffTextWindow()
void DiffTextWindow::init(
const QString& filename,
QTextCodec* pTextCodec,
e_LineEndStyle eLineEndStyle,
const LineData* pLineData,
int size,
const Diff3LineVector* pDiff3LineVector,
......@@ -202,6 +212,9 @@ void DiffTextWindow::init(
d->m_selection.oldLastLine = -1;
d->m_selection.lastLine = -1;
d->m_pTextCodec = pTextCodec;
d->m_eLineEndStyle = eLineEndStyle;
update();
d->m_pDiffTextWindowFrame->init();
}
......@@ -1638,6 +1651,8 @@ public:
OptionDialog* m_pOptionDialog;
QLabel* m_pLabel;
QLabel* m_pTopLine;
QLabel* m_pEncoding;
QLabel* m_pLineEndStyle;
QWidget* m_pTopLineWidget;
int m_winIdx;
};
......@@ -1660,8 +1675,17 @@ DiffTextWindowFrame::DiffTextWindowFrame( QWidget* pParent, QStatusBar* pStatusB
d->m_pTopLine = new QLabel(d->m_pTopLineWidget);
d->m_pDiffTextWindow = 0;
d->m_pDiffTextWindow = new DiffTextWindow( this, pStatusBar, pOptionDialog, winIdx );
QHBoxLayout* pHL = new QHBoxLayout(d->m_pTopLineWidget);
pHL->setMargin(2);
QVBoxLayout* pVTopLayout = new QVBoxLayout(d->m_pTopLineWidget);
pVTopLayout->setMargin(2);
pVTopLayout->setSpacing(0);
QHBoxLayout* pHL = new QHBoxLayout();
QHBoxLayout* pHL2 = new QHBoxLayout();
pVTopLayout->addLayout(pHL);
pVTopLayout->addLayout(pHL2);
// Upper line:
pHL->setMargin(0);
pHL->setSpacing(2);
pHL->addWidget( d->m_pLabel, 0 );
......@@ -1669,6 +1693,15 @@ DiffTextWindowFrame::DiffTextWindowFrame( QWidget* pParent, QStatusBar* pStatusB
pHL->addWidget( d->m_pBrowseButton, 0 );
pHL->addWidget( d->m_pTopLine, 0 );
// Lower line
pHL2->setMargin(0);
pHL2->setSpacing(2);
pHL2->addWidget( d->m_pTopLine, 0 );
d->m_pEncoding = new QLabel(i18n("Encoding:"));
d->m_pLineEndStyle = new QLabel(i18n("Line end style:"));
pHL2->addWidget(d->m_pEncoding);
pHL2->addWidget(d->m_pLineEndStyle);
QVBoxLayout* pVL = new QVBoxLayout( this );
pVL->setMargin(0);
pVL->setSpacing(0);
......@@ -1697,6 +1730,8 @@ void DiffTextWindowFrame::init()
( pDTW->d->m_bTriple?"A (Base)":"A") :
( pDTW->d->m_winIdx==2 ? "B" : "C" );
d->m_pLabel->setText( winId + ":" );
d->m_pEncoding->setText( i18n("Encoding:") + " " + (pDTW->d->m_pTextCodec!=0 ? pDTW->d->m_pTextCodec->name() : QString()) );
d->m_pLineEndStyle->setText( i18n("Line end style:") + " " + (pDTW->d->m_eLineEndStyle==eLineEndStyleDos ? i18n("DOS") : i18n("Unix")) );
}
}
......@@ -1763,11 +1798,13 @@ bool DiffTextWindowFrame::eventFilter( QObject* o, QEvent* e )
p.setColor(QPalette::WindowText, c1);
d->m_pLabel->setPalette( p );
d->m_pTopLine->setPalette( p );
d->m_pEncoding->setPalette( p );
d->m_pLineEndStyle->setPalette( p );
}
if (o == d->m_pFileSelection && e->type()==QEvent::Drop)
{
QDropEvent* d = static_cast<QDropEvent*>(e);
if ( d->mimeData()->hasUrls() )
{
QList<QUrl> lst = d->mimeData()->urls();
......@@ -1804,5 +1841,3 @@ void DiffTextWindowFrame::slotBrowseButtonClicked()
emit fileNameChanged( newURL.url(), pDTW->d->m_winIdx );
}
}
//#include "difftextwindow.moc"
......@@ -40,6 +40,8 @@ public:
~DiffTextWindow();
void init(
const QString& fileName,
QTextCodec* pCodec,
e_LineEndStyle eLineEndStyle,
const LineData* pLineData,
int size,
const Diff3LineVector* pDiff3LineVector,
......
This diff is collapsed.
......@@ -48,6 +48,7 @@ enum e_MergeOperation
eCopyAToDest, eCopyBToDest, eCopyCToDest, eDeleteFromDest, eMergeABCToDest,
eMergeABToDest,
eConflictingFileTypes, // Error
eChangedAndDeleted, // Error
eConflictingAges // Equal age but files are not!
};
......
......@@ -414,7 +414,7 @@ bool FileAccess::writeFile( const void* pSrcBuffer, unsigned long length )
if ( isExecutable() ) // value is true if the old file was executable
{
// Preserve attributes
f.setPermissions(QFile::ExeUser);
f.setPermissions(f.permissions() | QFile::ExeUser);
//struct stat srcFileStatus;
//int statResult = ::stat( filePath().toLocal8Bit().constData(), &srcFileStatus );
//if (statResult==0)
......@@ -709,7 +709,7 @@ bool FileAccessJobHandler::put(const void* pSrcBuffer, long maxLength, bool bOve
if ( maxLength>0 )
{
KIO::TransferJob* pJob = KIO::put( m_pFileAccess->m_url, permissions,
(bOverwrite ? KIO::Overwrite : KIO::DefaultFlags) | (bResume ? KIO::Resume : KIO::DefaultFlags) );
KIO::HideProgressInfo | (bOverwrite ? KIO::Overwrite : KIO::DefaultFlags) | (bResume ? KIO::Resume : KIO::DefaultFlags) );
m_transferredBytes = 0;
m_pTransferBuffer = (char*)pSrcBuffer;
m_maxLength = maxLength;
......@@ -856,7 +856,7 @@ bool FileAccessJobHandler::rename( const QString& dest )
{
int permissions=-1;
m_bSuccess = false;
KIO::FileCopyJob* pJob = KIO::file_move( m_pFileAccess->m_url, kurl, permissions, KIO::DefaultFlags );
KIO::FileCopyJob* pJob = KIO::file_move( m_pFileAccess->m_url, kurl, permissions, KIO::HideProgressInfo );
connect( pJob, SIGNAL(result(KJob*)), this, SLOT(slotSimpleJobResult(KJob*)));
connect( pJob, SIGNAL(percent(KJob*,unsigned long)), this, SLOT(slotPercent(KJob*, unsigned long)));
......@@ -890,7 +890,7 @@ bool FileAccessJobHandler::copyFile( const QString& dest )
{
int permissions = (m_pFileAccess->isExecutable()?0111:0)+(m_pFileAccess->isWritable()?0222:0)+(m_pFileAccess->isReadable()?0444:0);
m_bSuccess = false;
KIO::FileCopyJob* pJob = KIO::file_copy ( m_pFileAccess->m_url, destUrl, permissions, KIO::DefaultFlags );
KIO::FileCopyJob* pJob = KIO::file_copy ( m_pFileAccess->m_url, destUrl, permissions, KIO::HideProgressInfo );
connect( pJob, SIGNAL(result(KJob*)), this, SLOT(slotSimpleJobResult(KJob*)));
connect( pJob, SIGNAL(percent(KJob*,unsigned long)), this, SLOT(slotPercent(KJob*, unsigned long)));
g_pProgressDialog->enterEventLoop( pJob,
......@@ -1335,7 +1335,7 @@ bool FileAccessJobHandler::listDir( t_DirectoryList* pDirList, bool bRecursive,
else
{
KIO::ListJob* pListJob=0;
pListJob = KIO::listDir( m_pFileAccess->m_url, KIO::DefaultFlags, true /*bFindHidden*/ );
pListJob = KIO::listDir( m_pFileAccess->m_url, KIO::HideProgressInfo, true /*bFindHidden*/ );
m_bSuccess = false;
if ( pListJob!=0 )
......
......@@ -108,10 +108,10 @@ bool KDiff3App::isDirComparison()
return m_bDirCompare;
}
KDiff3App::KDiff3App(QWidget* pParent, const char* name, KDiff3Part* pKDiff3Part )
KDiff3App::KDiff3App(QWidget* pParent, const char* /*name*/, KDiff3Part* pKDiff3Part )
: QSplitter(pParent) //previously KMainWindow
{
setObjectName( name );
setObjectName( "KDiff3App" );
m_pKDiff3Part = pKDiff3Part;
m_pKDiff3Shell = dynamic_cast<KParts::MainWindow*>(pParent);
......@@ -307,6 +307,7 @@ KDiff3App::KDiff3App(QWidget* pParent, const char* name, KDiff3Part* pKDiff3Part
m_pMainSplitter->setOrientation( Qt::Vertical );
// setCentralWidget( m_pMainSplitter );
m_pDirectoryMergeSplitter = new QSplitter( m_pMainSplitter );
m_pDirectoryMergeSplitter->setObjectName("DirectoryMergeSplitter");
m_pMainSplitter->addWidget( m_pDirectoryMergeSplitter );
m_pDirectoryMergeSplitter->setOrientation( Qt::Horizontal );
m_pDirectoryMergeWindow = new DirectoryMergeWindow( m_pDirectoryMergeSplitter, m_pOptionDialog,
......
[Desktop Entry]
Encoding=UTF-8
Name=KDiff3
Name[hi]=के-डिफ3
Name[sv]=Kdiff3
Name[x-test]=xxKDiff3xx
GenericName=Diff/Patch Frontend
GenericName[bg]=Интерфейс на Diff/Patch
GenericName[cs]=Rozhraní pro Diff/Patch
GenericName[de]=Graphische Oberfläche zu Diff/Patch
GenericName[el]=Σύστημα υποστήριξης χρήστη για τα Diff/Patch
GenericName[es]=Interfaz para diff/patch
GenericName[et]=Võrdlemise ja liitmise rakendus
......@@ -34,8 +35,10 @@ Type=Application
DocPath=kdiff3/index.html
Comment=A File And Directory Comparison And Merge Tool
Comment[bg]=Инструмент за сравняване и сливане на файлове и директории
Comment[cs]=Nástroj pro porovnávání a slučování souborů a adresářů
Comment[de]=Programm zum Vergleichen und Zusammenführen von Dateien und Ordnern
Comment[el]=Ένα εργαλείο σύγκρισης και συγχώνευσης αρχείων και καταλόγων
Comment[es]=Una herramienta para comparar y mezclar archivos y carpetas
Comment[es]=Una herramienta para comparar y fusionar archivos y directorios
Comment[et]=Failide ja kataloogide võrdlemise ja liitmise tööriist
Comment[fr]=Un outil de comparaison et de fusion de fichiers et de dossiers
Comment[ga]=Uirlis a chuireann comhaid agus comhadlanna i gcomparáid agus a chumascann iad más gá
......
......@@ -294,7 +294,6 @@ class KDiff3App : public QSplitter
ManualDiffHelpList m_manualDiffHelpList;
int m_neededLines;
int m_maxWidth;
int m_DTWHeight;
bool m_bOutputModified;
bool m_bFileSaved;
......@@ -325,6 +324,7 @@ class KDiff3App : public QSplitter
bool m_bAutoFlag;
bool m_bAutoMode;
void recalcWordWrap(int nofVisibleColumns=-1);
void setHScrollBarRange();
public slots:
void resizeDiffTextWindow(int newWidth, int newHeight);
......
[Desktop Entry]
Encoding=UTF-8
Name=KDiff3Part
Name[et]=KDiff3 komponent
Name[hi]=के-डिफ3पार्ट
......
......@@ -113,7 +113,7 @@ static void showHelp()
#endif
}
QString getTranslationDir()
QString getTranslationDir(const QString& locale)
{
#ifdef _WIN32
wchar_t buf[200];
......@@ -125,7 +125,7 @@ QString getTranslationDir()
else { exePath = "."; }
return exePath+"/translations";
#else
return ".";
return (QString)"/usr/share/locale/" + locale + "/LC_MESSAGES";
#endif
}
......
......@@ -21,6 +21,7 @@
#include "common.h"
#include <QSharedData>
#include <QMainWindow>
#include <QAction>
#include <QDialog>
......@@ -41,7 +42,7 @@ class QLabel;
#include <map>
#include <list>
QString getTranslationDir();
QString getTranslationDir(const QString&);
class KMainWindow;
class KAction;
......
......@@ -34,80 +34,50 @@
#endif
#include "common.h"
void initialiseCmdLineArgs( KCmdLineOptions& options )
{
QString configFileName = KStandardDirs().findResource("config","kdiff3rc");
QFile configFile( configFileName );
QString ignorableOptionsLine = "-u;-query;-html;-abort";
if ( configFile.open( QIODevice::ReadOnly ) )
{
QTextStream ts( &configFile );
while(!ts.atEnd())
{
QString line = ts.readLine();
if ( line.startsWith("IgnorableCmdLineOptions=") )
{
int pos = line.indexOf('=');
if (pos>=0)
{
ignorableOptionsLine = line.mid(pos+1);
}
break;
}
}
}
// static KCmdLineOptions options[] =
// {
// { "m", 0, 0 },
// { "merge", I18N_NOOP("Merge the input."), 0 },
// { "b", 0, 0 },
// { "base file", I18N_NOOP("Explicit base file. For compatibility with certain tools."), 0 },
// { "o", 0, 0 },
// { "output file", I18N_NOOP("Output file. Implies -m. E.g.: -o newfile.txt"), 0 },
// { "out file", I18N_NOOP("Output file, again. (For compatibility with certain tools.)"), 0 },
// { "auto", I18N_NOOP("No GUI if all conflicts are auto-solvable. (Needs -o file)"), 0 },
// { "qall", I18N_NOOP("Don't solve conflicts automatically. (For compatibility...)"), 0 },
// { "L1 alias1", I18N_NOOP("Visible name replacement for input file 1 (base)."), 0 },
// { "L2 alias2", I18N_NOOP("Visible name replacement for input file 2."), 0 },
// { "L3 alias3", I18N_NOOP("Visible name replacement for input file 3."), 0 },
// { "L", 0, 0 },
// { "fname alias", I18N_NOOP("Alternative visible name replacement. Supply this once for every input."), 0 },
// { "cs string", I18N_NOOP("Override a config setting. Use once for every setting. E.g.: --cs \"AutoAdvance=1\""), 0 },
// { "confighelp", I18N_NOOP("Show list of config settings and current values."), 0 },
// { "config file", I18N_NOOP("Use a different config file."), 0 }
// };
// static KCmdLineOptions options2[] =
// {
// { "+[File1]", I18N_NOOP("file1 to open (base, if not specified via --base)"), 0 },
// { "+[File2]", I18N_NOOP("file2 to open"), 0 },
// { "+[File3]", I18N_NOOP("file3 to open"), 0 }
// };
//
// void initialiseCmdLineArgs(std::vector<KCmdLineOptions>& vOptions, QStringList& ignorableOptions)
// {
// vOptions.insert( vOptions.end(), options, (KCmdLineOptions*)((char*)options+sizeof(options)));
// QString configFileName = KStandardDirs().findResource("config","kdiff3rc");
// QFile configFile( configFileName );
// if ( configFile.open( QIODevice::ReadOnly ) )
// {
// QTextStream ts( &configFile );
// while(!ts.atEnd())