From 0aece7616a1086c79c1d7e58521c5efa14513358 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Tue, 12 Jul 2005 10:59:09 +0000 Subject: [PATCH] INTEGRATION: CWS fpicker4 (1.4.8); FILE MERGED 2005/07/11 14:01:34 cmc 1.4.8.4: #i48801# expand the expanders and munge in a sensible starting height of the browsing area 2005/07/11 11:13:39 cmc 1.4.8.3: show file types only when there are file types to show 2005/06/01 11:05:43 cmc 1.4.8.2: #i44627# Unthread picker 2005/05/31 21:43:35 cmc 1.4.8.1: #i48801# #i46800# #i47163# to work around the confusing standard gnome dialog, create a seperation between filtering on a suffix and forcing a different type as the load/save in the same style as gimp-2.2 does --- fpicker/source/unx/gnome/SalGtkFilePicker.hxx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/fpicker/source/unx/gnome/SalGtkFilePicker.hxx b/fpicker/source/unx/gnome/SalGtkFilePicker.hxx index a3a2232fe927..9d980ce00144 100644 --- a/fpicker/source/unx/gnome/SalGtkFilePicker.hxx +++ b/fpicker/source/unx/gnome/SalGtkFilePicker.hxx @@ -2,9 +2,9 @@ * * $RCSfile: SalGtkFilePicker.hxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: obo $ $Date: 2005-05-03 13:47:48 $ + * last change: $Author: kz $ $Date: 2005-07-12 11:59:09 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -102,10 +102,6 @@ #include "SalGtkPicker.hxx" #endif -#ifndef _ASYNCEVENTNOTIFIER_HXX_ -#include "asynceventnotifier.hxx" -#endif - #include #ifndef _RTL_USTRING_H_ @@ -302,11 +298,6 @@ class SalGtkFilePicker : void SAL_CALL controlStateChanged( ::com::sun::star::ui::dialogs::FilePickerEvent aEvent ); void SAL_CALL dialogSizeChanged( ); - bool startupEventNotification(bool bStartupSuspended); - void shutdownEventNotification(); - void suspendEventNotification(); - void resumeEventNotification(); - private: // prevent copy and assignment SalGtkFilePicker( const SalGtkFilePicker& ); @@ -321,10 +312,15 @@ class SalGtkFilePicker : ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceMgr; private: - SalGtkAsyncEventNotifier m_aAsyncEventNotifier; + ::com::sun::star::uno::Reference< ::com::sun::star::ui::dialogs::XFilePickerListener > + m_xListener; FilterList *m_pFilterList; GtkWidget *m_pVBox; + GtkWidget *m_pFilterExpander; + GtkWidget *m_pFilterView; + GtkListStore *m_pFilterStore; + enum { AUTOEXTENSION, PASSWORD, @@ -369,30 +365,34 @@ class SalGtkFilePicker : void SetCurFilter( const OUString& rFilter ); void SetFilters(); - void implAddFilter( const OUString& rFilter, const OUString& rType); - void implAddFilterGroup( const OUString& rFilter, + void implChangeType( GtkTreeSelection *selection ); + int implAddFilter( const OUString& rFilter, const OUString& rType); + int implAddFilterGroup( const OUString& rFilter, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair>& _rFilters ); + void updateCurrentFilterFromName(const gchar* filtername); + void unselect_type(); bool bVersionWidthUnset; sal_Bool mbPreviewState; gulong mHID_Preview; - gulong mHID_FolderChange; - gulong mHID_SelectionChange; GtkWidget* m_pPreview; sal_Int32 m_PreviewImageWidth; sal_Int32 m_PreviewImageHeight; + void InitialMapping(); + void HandleSetListValue(GtkComboBox *pWidget, sal_Int16 nControlAction, const ::com::sun::star::uno::Any& rValue); ::com::sun::star::uno::Any HandleGetListValue(GtkComboBox *pWidget, sal_Int16 nControlAction) const; + static void expander_changed_cb( GtkExpander *expander, SalGtkFilePicker *pobjFP ); static void preview_toggled_cb (GtkObject *cb, SalGtkFilePicker *pobjFP); static void filter_changed_cb (GtkFileChooser *file_chooser, GParamSpec *pspec, SalGtkFilePicker *pobjFP); - static void filter_changed_atsave_cb (GtkComboBox* widget, SalGtkFilePicker *pobjFP); + static void type_changed_cb( GtkTreeSelection *selection, SalGtkFilePicker *pobjFP ); static void folder_changed_cb (GtkFileChooser *file_chooser, SalGtkFilePicker *pobjFP); static void selection_changed_cb (GtkFileChooser *file_chooser, SalGtkFilePicker *pobjFP); static void update_preview_cb (GtkFileChooser *file_chooser, SalGtkFilePicker *pobjFP); - + static void dialog_mapped_cb(GtkWidget *widget, SalGtkFilePicker *pobjFP); public: virtual ~SalGtkFilePicker();