Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
a9d1eb47
Kaydet (Commit)
a9d1eb47
authored
Haz 11, 2018
tarafından
Katarina Behrens
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Implement appendFilter[Group], signal+slot
Change-Id: I0a195de54a8631c2218f6704ca564c0c9f06becf
üst
113b340f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
20 deletions
+48
-20
KDE5FilePicker.cxx
vcl/unx/kde5/KDE5FilePicker.cxx
+0
-18
KDE5FilePicker.hxx
vcl/unx/kde5/KDE5FilePicker.hxx
+14
-0
KDE5FilePicker2.cxx
vcl/unx/kde5/KDE5FilePicker2.cxx
+34
-2
No files found.
vcl/unx/kde5/KDE5FilePicker.cxx
Dosyayı görüntüle @
a9d1eb47
...
@@ -57,24 +57,6 @@ QString KDE5FilePicker::getDisplayDirectory() const { return _dialog->directoryU
...
@@ -57,24 +57,6 @@ QString KDE5FilePicker::getDisplayDirectory() const { return _dialog->directoryU
QList<QUrl> KDE5FilePicker::getSelectedFiles() const { return _dialog->selectedUrls(); }
QList<QUrl> KDE5FilePicker::getSelectedFiles() const { return _dialog->selectedUrls(); }
void KDE5FilePicker::appendFilter(const QString& title, const QString& filter)
{
QString t = title;
QString f = filter;
// '/' need to be escaped else they are assumed to be mime types by kfiledialog
//see the docs
t.replace("/", "\\/");
// openoffice gives us filters separated by ';' qt dialogs just want space separated
f.replace(";", " ");
// make sure "*.*" is not used as "all files"
f.replace("*.*", "*");
_filters << QStringLiteral("%1 (%2)").arg(t, f);
_titleToFilters[t] = _filters.constLast();
}
void KDE5FilePicker::setCurrentFilter(const QString& title)
void KDE5FilePicker::setCurrentFilter(const QString& title)
{
{
_currentFilter = _titleToFilters.value(title);
_currentFilter = _titleToFilters.value(title);
...
...
vcl/unx/kde5/KDE5FilePicker.hxx
Dosyayı görüntüle @
a9d1eb47
...
@@ -176,6 +176,9 @@ Q_SIGNALS:
...
@@ -176,6 +176,9 @@ Q_SIGNALS:
void
setDisplayDirectorySignal
(
const
OUString
&
rDir
);
void
setDisplayDirectorySignal
(
const
OUString
&
rDir
);
void
setValueSignal
(
sal_Int16
nControlId
,
sal_Int16
nControlAction
,
void
setValueSignal
(
sal_Int16
nControlId
,
sal_Int16
nControlAction
,
const
css
::
uno
::
Any
&
rValue
);
const
css
::
uno
::
Any
&
rValue
);
void
appendFilterSignal
(
const
OUString
&
rTitle
,
const
OUString
&
rFilter
);
void
appendFilterGroupSignal
(
const
OUString
&
rTitle
,
const
css
::
uno
::
Sequence
<
css
::
beans
::
StringPair
>&
rFilters
);
private
Q_SLOTS
:
private
Q_SLOTS
:
void
setTitleSlot
(
const
OUString
&
rTitle
)
{
return
setTitle
(
rTitle
);
}
void
setTitleSlot
(
const
OUString
&
rTitle
)
{
return
setTitle
(
rTitle
);
}
...
@@ -184,6 +187,17 @@ private Q_SLOTS:
...
@@ -184,6 +187,17 @@ private Q_SLOTS:
{
{
return
setValue
(
nControlAction
,
nControlAction
,
rValue
);
return
setValue
(
nControlAction
,
nControlAction
,
rValue
);
}
}
void
appendFilterSlot
(
const
OUString
&
rTitle
,
const
OUString
&
rFilter
)
{
return
appendFilter
(
rTitle
,
rFilter
);
}
void
appendFilterGroupSlot
(
const
OUString
&
rTitle
,
const
css
::
uno
::
Sequence
<
css
::
beans
::
StringPair
>&
rFilters
)
{
return
appendFilterGroup
(
rTitle
,
rFilters
);
}
};
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
vcl/unx/kde5/KDE5FilePicker2.cxx
Dosyayı görüntüle @
a9d1eb47
...
@@ -107,6 +107,10 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode)
...
@@ -107,6 +107,10 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode)
Qt
::
BlockingQueuedConnection
);
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
KDE5FilePicker
::
setValueSignal
,
this
,
&
KDE5FilePicker
::
setValueSlot
,
connect
(
this
,
&
KDE5FilePicker
::
setValueSignal
,
this
,
&
KDE5FilePicker
::
setValueSlot
,
Qt
::
BlockingQueuedConnection
);
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
KDE5FilePicker
::
appendFilterSignal
,
this
,
&
KDE5FilePicker
::
appendFilterSlot
,
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
KDE5FilePicker
::
appendFilterGroupSignal
,
this
,
&
KDE5FilePicker
::
appendFilterGroupSlot
,
Qt
::
BlockingQueuedConnection
);
qApp
->
installEventFilter
(
this
);
qApp
->
installEventFilter
(
this
);
setMultiSelectionMode
(
false
);
setMultiSelectionMode
(
false
);
...
@@ -183,7 +187,29 @@ uno::Sequence<OUString> SAL_CALL KDE5FilePicker::getSelectedFiles()
...
@@ -183,7 +187,29 @@ uno::Sequence<OUString> SAL_CALL KDE5FilePicker::getSelectedFiles()
return
seq
;
return
seq
;
}
}
void
SAL_CALL
KDE5FilePicker
::
appendFilter
(
const
OUString
&
title
,
const
OUString
&
filter
)
{}
void
SAL_CALL
KDE5FilePicker
::
appendFilter
(
const
OUString
&
title
,
const
OUString
&
filter
)
{
if
(
qApp
->
thread
()
!=
QThread
::
currentThread
())
{
SolarMutexReleaser
aReleaser
;
return
Q_EMIT
appendFilterSignal
(
title
,
filter
);
}
QString
t
(
toQString
(
title
));
QString
f
(
toQString
(
filter
));
// '/' need to be escaped else they are assumed to be mime types by kfiledialog
//see the docs
t
.
replace
(
"/"
,
"
\\
/"
);
// libreoffice separates by filters by ';' qt dialogs by space
f
.
replace
(
";"
,
" "
);
// make sure "*.*" is not used as "all files"
f
.
replace
(
"*.*"
,
"*"
);
_filters
<<
QStringLiteral
(
"%1 (%2)"
).
arg
(
t
,
f
);
_titleToFilters
[
t
]
=
_filters
.
constLast
();
}
void
SAL_CALL
KDE5FilePicker
::
setCurrentFilter
(
const
OUString
&
title
)
{}
void
SAL_CALL
KDE5FilePicker
::
setCurrentFilter
(
const
OUString
&
title
)
{}
...
@@ -193,9 +219,15 @@ OUString SAL_CALL KDE5FilePicker::getCurrentFilter()
...
@@ -193,9 +219,15 @@ OUString SAL_CALL KDE5FilePicker::getCurrentFilter()
return
filter
;
return
filter
;
}
}
void
SAL_CALL
KDE5FilePicker
::
appendFilterGroup
(
const
OUString
&
/*rGroupTitle*/
,
void
SAL_CALL
KDE5FilePicker
::
appendFilterGroup
(
const
OUString
&
rGroupTitle
,
const
uno
::
Sequence
<
beans
::
StringPair
>&
filters
)
const
uno
::
Sequence
<
beans
::
StringPair
>&
filters
)
{
{
if
(
qApp
->
thread
()
!=
QThread
::
currentThread
())
{
SolarMutexReleaser
aReleaser
;
return
Q_EMIT
appendFilterGroupSignal
(
rGroupTitle
,
filters
);
}
const
sal_uInt16
length
=
filters
.
getLength
();
const
sal_uInt16
length
=
filters
.
getLength
();
for
(
sal_uInt16
i
=
0
;
i
<
length
;
++
i
)
for
(
sal_uInt16
i
=
0
;
i
<
length
;
++
i
)
{
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment