History log of /haiku/src/preferences/filetypes/FileTypes.cpp
Revision Date Author Comments
# 9570ee35 11-May-2022 Jim906 <jim_l@fastmail.com>

FileTypes: Improve ApplicationTypeWindow cascading

* Using StyledEditApp as a model, ensure that multiple Application Type windows do not cascade so far that they open partially off-screen.
* Add a dedicated function, FileTypes::_AppTypeCascade, to set the position of the next ApplicationTypeWindow to be constructed and save this position in FileTypes::fSettings.
* Unlike StyledEditApp, do not add an uncascade function, because existing code in ApplicationTypeWindow::QuitRequested already resets app_type_next_frame.
* Follows up on https://review.haiku-os.org/c/haiku/+/5164.

Change-Id: I9cbb58ba391ddafdd1ea136157e5c6129bf41ebd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5307
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# a12cf089 29-Mar-2022 Jim906 <jim_l@fastmail.com>

FileTypes: save ApplicationTypeWindow position

* Move the default size and position settings for ApplicationTypeWindow from its constructor to FileTypesWindow::fSettings, and update these settings when the window is closed.
* Add _Frame() for extracting a BRect from fSettings.
* Keep a BPoint parameter in the constructor, which allows each new instance of the window to be slightly offset from the last one.
* Submitted in response to a comment by humdinger on https://review.haiku-os.org/c/haiku/+/4926

Change-Id: I0fa8a9ca8f18cf4093363bff713f0f80f6c04cd5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5164
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 234ac3f1 24-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

FileTypes: Avoid useless call to ReplaceRef

Don't replace the ref with itself in the most common case where the
scanned file is not a symlink. Save a lot of useless memory copies and
ref flattening in BMessage.


# db7fc944 04-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

FileTypes: disallow directories only where it makes sense.

Better fix for #8805.


# 069804d7 28-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

FileTypes: prevent picking folder as preferred app

* I'm not sure why this was changed back in 2006, the file panel is
reused in various cases but I don't see one where selecting a folder
would make sense.
* If I missed something, then different file panels should be used for
the different cases.

Fixes #8805.


# 3aeed660 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949


# aed35104 05-Aug-2012 Humdinger <humdingerb@gmail.com>

Close alerts with ESCAPE key.

Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts
depending if the result gets used later in the code, or if it's a one-button
BAlert.


# 546208a5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# 62769fc6 26-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Follow-up on r41108. Removal of About-windows and menu items.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41115 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0b4ddda5 12-Feb-2011 Stephan Aßmus <superstippi@gmx.de>

* Some reordering of methods to match declaration order.
* Some updating to new header indentation style
* Improved consistency of asterix style in FileTypes.cpp.
* Implemented passing -type some/type on the command line and having
that type initially selected in the FileTypesWindow. (Unfortunately
BOutlineListView::ScrollToSelection() is broken.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40472 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 36ef875a 07-Feb-2011 Stephan Aßmus <superstippi@gmx.de>

The left and right side of the FileTypes interface are now divided by
a BSplitView. The layout weight is remembered in the settings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40373 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be8fa2fb 02-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Update all applications in tree to use the new localizing system
* Remove the old one from the locale librairy, with some cleanup
Known regressions :
* readonlybootprompt will no longer update the locale settings : the
method used messed with internal undocumented things
* external localized apps (webpositive for example) will not run
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37336 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0b50919e 09-Jun-2010 DarkWyrm <darkwyrm@gmail.com>

Make FileTypes edit resources on resource files and not just applications


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37071 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4eb0cbb0 07-May-2010 Matt Madia <mattmadia@gmail.com>

Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36733 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b1c66135 06-May-2010 Matt Madia <mattmadia@gmail.com>

Updated to use B_TRANSLATE* macros. relates to #5408.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36684 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50a2f6d7 21-Apr-2010 Stephan Aßmus <superstippi@gmx.de>

Puh... basically this is the patch by "yourpalal" from ticket #5690, which
converts the FileTypes preflet to use layout management. However, I had to
revert r36252, apply the patch and then manually add r36252 back on top.
I have fixed issues both in the layout management patch (broken layout
in the ApplicationTypesWindow) as well as the translation (untranslated labels
in alerts) and other problems with composed strings (one problem remains, but
already had a TODO). However, the hard work was taken care of by yourpalal!
Thanks a bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aaef889b 14-Apr-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Localize FileTypes.
It does not use the layout kit yet, so the tranlation doesn't look perfect. Anyone willing to update it ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36252 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d46836a8 19-Nov-2007 Axel Dörfler <axeld@pinc-software.de>

Now opens the types window on B_SILENT_RELAUNCH if it's not already open.
This fixes bug #1628.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22957 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f4e82637 01-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* FileTypes now stores and retrieves its settings.
* The "Show Icons" option now defaults to true.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17689 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 194b7064 31-May-2006 Axel Dörfler <axeld@pinc-software.de>

Changed the recognition rule for applications: it doesn't matter if the application
has a signature or not, what matters is that has the correct B_APP_MIME_TYPE MIME type.
This fixes bug #606.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17670 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50751440 07-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Beginnings of the application type window - doesn't do anything yet, but at
least it looks more or less okay (long description border isn't right yet)
and is font sensitive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16632 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4987d47a 06-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

The FileType window now filters out application drops, and make them the preferred
app for the file(s).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16620 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a051f666 06-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Changed the way file panels are created, there is now only a single message
the FileType application understands.
* The FileTypeWindow now has support for setting the type via "Same As...",
also by dropping a file over the window.
* The preferred application of a file can now also be specified via "Select...",
and "Same As...".
* Moved FileTypesWindow::_AdoptPreferredApplication() to PreferredAppMenu.cpp;
FileTypeWindow is now using it as well.
* Shuffled some functions around a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16619 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0353f98b 06-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Beginnings of the file type window, ie. the functionality of the
FileType Tracker add-on.
* You can now drop files over the FileTypes window, and their file
types window is opened.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16612 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 041ea260 15-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

More work on FileTypes:
* You can now edit and add extensions.
* The internal name view is no longer a disabled BTextControl, but a simple
customized BStringView like view.
* New "Application Types" window in the making.
* MimeTypeListView can now have icons and supports a flat mode as well
as an application only mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 879c65a3 14-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

You can now create new file types and groups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16393 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 43fd6fc4 13-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* You can now also select the preferred application using the "Select..." and
"Same As..." buttons and a file panel.
* The preferred application of a file type is now also displayed correctly if
it's not part of the list of supporting applications.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16389 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9941e6c9 11-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Some more work on the FileTypes preferences application; it still doesn't do anything,
but it will now show you the installed MIME types, and their properties (though the
"Extra Attributes" group is still not maintained at all).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16351 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2dcb851 10-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Now it even looks like the original, at least a bit :-)
Still doesn't do anything, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16334 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f1486a98 08-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Started new FileTypes preferences application, so that you can at least see
it's supposed to do nothing at the moment :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16302 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 234ac3f19195b4b4ba42ce9137d39bddbe0d8f8b 24-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

FileTypes: Avoid useless call to ReplaceRef

Don't replace the ref with itself in the most common case where the
scanned file is not a symlink. Save a lot of useless memory copies and
ref flattening in BMessage.


# db7fc944bda45a7db4b13670c9f743e4144e448d 04-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

FileTypes: disallow directories only where it makes sense.

Better fix for #8805.


# 069804d7ca1004da96a2416e05016fd02b6cec19 28-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

FileTypes: prevent picking folder as preferred app

* I'm not sure why this was changed back in 2006, the file panel is
reused in various cases but I don't see one where selecting a folder
would make sense.
* If I missed something, then different file panels should be used for
the different cases.

Fixes #8805.


# 3aeed6607cd07762c0e709633c012b3a632dbad9 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949


# aed35104852941f0f6f3d1dcc5338b5f337d0a3c 05-Aug-2012 Humdinger <humdingerb@gmail.com>

Close alerts with ESCAPE key.

Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts
depending if the result gets used later in the code, or if it's a one-button
BAlert.


# 546208a53940a26c6379c48a7854ade1a8250fc5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# 62769fc6d5b7ee60cea4d6e289316a5e20e0c5d4 26-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Follow-up on r41108. Removal of About-windows and menu items.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41115 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0b4ddda5f0ddc1fef61447b4b49cfc7a4d88e7a6 12-Feb-2011 Stephan Aßmus <superstippi@gmx.de>

* Some reordering of methods to match declaration order.
* Some updating to new header indentation style
* Improved consistency of asterix style in FileTypes.cpp.
* Implemented passing -type some/type on the command line and having
that type initially selected in the FileTypesWindow. (Unfortunately
BOutlineListView::ScrollToSelection() is broken.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40472 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 36ef875aada2ed4fde5336f3c70575e5288dd977 07-Feb-2011 Stephan Aßmus <superstippi@gmx.de>

The left and right side of the FileTypes interface are now divided by
a BSplitView. The layout weight is remembered in the settings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40373 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be8fa2fb3088ab1921612b60f352dd9334b40b3d 02-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Update all applications in tree to use the new localizing system
* Remove the old one from the locale librairy, with some cleanup
Known regressions :
* readonlybootprompt will no longer update the locale settings : the
method used messed with internal undocumented things
* external localized apps (webpositive for example) will not run
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37336 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0b50919e2374fa272581da16d3817108b624aae3 09-Jun-2010 DarkWyrm <darkwyrm@gmail.com>

Make FileTypes edit resources on resource files and not just applications


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37071 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4eb0cbb044cf538f18c0d252934a5bcaa33bfd34 07-May-2010 Matt Madia <mattmadia@gmail.com>

Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36733 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b1c66135aaec3a620da112814360a539c094740c 06-May-2010 Matt Madia <mattmadia@gmail.com>

Updated to use B_TRANSLATE* macros. relates to #5408.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36684 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50a2f6d7b20e0c0b24b47f85622e445bf84e81a8 21-Apr-2010 Stephan Aßmus <superstippi@gmx.de>

Puh... basically this is the patch by "yourpalal" from ticket #5690, which
converts the FileTypes preflet to use layout management. However, I had to
revert r36252, apply the patch and then manually add r36252 back on top.
I have fixed issues both in the layout management patch (broken layout
in the ApplicationTypesWindow) as well as the translation (untranslated labels
in alerts) and other problems with composed strings (one problem remains, but
already had a TODO). However, the hard work was taken care of by yourpalal!
Thanks a bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aaef889bfb923a15df9ed3f6d7a31a941a1fe9ca 14-Apr-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Localize FileTypes.
It does not use the layout kit yet, so the tranlation doesn't look perfect. Anyone willing to update it ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36252 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d46836a8b0a4e59113e71fffbf94b8588bdf82c1 19-Nov-2007 Axel Dörfler <axeld@pinc-software.de>

Now opens the types window on B_SILENT_RELAUNCH if it's not already open.
This fixes bug #1628.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22957 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f4e8263700211f15194530da5a5e255dd76f2029 01-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* FileTypes now stores and retrieves its settings.
* The "Show Icons" option now defaults to true.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17689 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 194b7064ee04099a1818d9c8b0d982afe60a4473 31-May-2006 Axel Dörfler <axeld@pinc-software.de>

Changed the recognition rule for applications: it doesn't matter if the application
has a signature or not, what matters is that has the correct B_APP_MIME_TYPE MIME type.
This fixes bug #606.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17670 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 507514408c37d12c3d24dafa1bcd0265b753fdeb 07-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Beginnings of the application type window - doesn't do anything yet, but at
least it looks more or less okay (long description border isn't right yet)
and is font sensitive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16632 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4987d47a5645eb62b5de56b21e23b75d3917fa3f 06-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

The FileType window now filters out application drops, and make them the preferred
app for the file(s).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16620 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a051f66681931057536717d0f5b56773a2a4963e 06-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Changed the way file panels are created, there is now only a single message
the FileType application understands.
* The FileTypeWindow now has support for setting the type via "Same As...",
also by dropping a file over the window.
* The preferred application of a file can now also be specified via "Select...",
and "Same As...".
* Moved FileTypesWindow::_AdoptPreferredApplication() to PreferredAppMenu.cpp;
FileTypeWindow is now using it as well.
* Shuffled some functions around a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16619 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0353f98bc36f4c87b827a202ef720811cd733fd3 06-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Beginnings of the file type window, ie. the functionality of the
FileType Tracker add-on.
* You can now drop files over the FileTypes window, and their file
types window is opened.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16612 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 041ea260089705137d559753470b0eec731e5640 15-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

More work on FileTypes:
* You can now edit and add extensions.
* The internal name view is no longer a disabled BTextControl, but a simple
customized BStringView like view.
* New "Application Types" window in the making.
* MimeTypeListView can now have icons and supports a flat mode as well
as an application only mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 879c65a301465f5a12d29419b265865ae607c9a7 14-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

You can now create new file types and groups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16393 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 43fd6fc453a4800ccc5023ff4376ae3ec1182b17 13-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* You can now also select the preferred application using the "Select..." and
"Same As..." buttons and a file panel.
* The preferred application of a file type is now also displayed correctly if
it's not part of the list of supporting applications.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16389 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9941e6c9eace3db5d28311ba73ec8506bdfb79de 11-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Some more work on the FileTypes preferences application; it still doesn't do anything,
but it will now show you the installed MIME types, and their properties (though the
"Extra Attributes" group is still not maintained at all).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16351 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2dcb851e64e9cef6ba8ddeceffa18a5531d8230 10-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Now it even looks like the original, at least a bit :-)
Still doesn't do anything, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16334 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f1486a980fe3ec20d30c12709b315df49819b839 08-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Started new FileTypes preferences application, so that you can at least see
it's supposed to do nothing at the moment :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16302 a95241bf-73f2-0310-859d-f6bbb57e9c96