Mantis Issue Tracking for Scribus
· Hosting provided by / Øverby Consulting ·

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001678ScribusUser Interfacepublic2005-02-16 02:132007-12-13 08:55
Assigned Tofschmid 
PlatformMacintosh PowerBookOSMac OSXOS Version10.3.8
Product Version 
Target VersionFixed in Version1.3.5svn 
Summary0001678: Picture Management dialog needs a rewrite
DescriptionIf Picture Management reports you are missing pictures, the Search function comes up blank. I'm told that this is because it looks only in your home directory. You should be able to specify other directories. Also, as in DTP apps, if one missing picture is found in that directory and other missing pictures are also there, it should let you choose to fix all the broken links to this directory.
TagsNo tags attached.
Attached Filespng file icon imagemanager.png [^] (13,300 bytes) 2005-05-16 18:47

png file icon picman.png [^] (46,607 bytes) 2005-07-18 17:30

diff file icon patch2.diff [^] (50,248 bytes) 2005-07-28 00:42 [Show Content]
gz file icon patch2_uifiles.tar.gz [^] (2,966 bytes) 2005-07-28 00:46
diff file icon patch3.diff [^] (50,664 bytes) 2005-08-01 16:24 [Show Content]

- Relationships
related to 0002467closedcbradney Search for pictures function does not work on win32 
related to 0003814closedcbradney Manage Pictures: Add button to search for all pictures in one directory 
has duplicate 0000516closedfschmid Searching for a picture crashes scribus 
has duplicate 0002551closedringerc manage picture isn't useful 
related to 0001811closedringerc Tools - manage images: Search button does not work 
related to 0002376closedringerc Source code requests 
related to 0002382acknowledged Metabug: Code quality, structure, readability 
related to 0002463closedjghali Issues with win32 build 

-  Notes
ringerc (administrator)
2005-02-16 07:49

I tend to agree regarding the need to be able to resolve all broken links from a directory. I don't use the search function for images, so I can't comment on that.

I've updated your bug to more accurately refelect it's contents. It'd be great if you could select an appropriate severity and category in future.
louisdesjardins (developer)
2005-02-16 14:00

If not a duplicate, this relates to bug 0001627: improvement for handling changes in images on disc
jb (reporter)
2005-05-16 18:47

I have been working a bit to improve the "image managment dialog". One important missing feature is the ability to replace an image without changing its scaling/position (let's say you want to replace an image with its black&white copy to see if it looks better with or without colour).
So I added a "Replace" button.

Regarding the "Search" function, the way it actually works is not really user friendly. On my machine, it takes 80 seconds to search for one image! I let you imagine the problem if you have 10 or more images...

I think it may be better to have a "Locate" button that would allow the user to give the new path. All missing images would then be tested with the new folder.

I upload a screenshot of my current work. Please let me know what you think about it so I can continue working & submit a patch...
ringerc (administrator)
2005-07-13 17:01
edited on: 2005-07-13 17:04

A whole bunch more work is needed on this.

jb, if you're interested then yes a cleanup of that dialog would not go astray. I've fixed the search responsiveness / lock-up issue, but a UI cleanup and some code tidying would be very good. So would the ability to retain image settings (but that needs to be done in ScribusView::LoadPict, which also needs other work like the ability to return an error code). I agree that a replace / browse button is also desirable, and the ability to search a custom path (easy to do now) would too.

Some better UI for progress on the new search code would be nice too.

ringerc (administrator)
2005-07-13 17:16

Any rewrite should:
  - work non-modally, like a palette
  - handle doc changes in real time
  - use the new search code for responsiveness
  - let users browse for a pic not just search
  - let users specify an optional search base
  - support finding other missing images in the same dir as one that was found (and prompt the user with a dialog letting them select/deselect each one).
jean-baptiste (reporter)
2005-07-18 17:30

Ok, i've started a rewrite of the Picture Manager. Should be ready in a few days. Attached is a screenshot of the current status of my work...
jean-baptiste (reporter)
2005-07-28 00:51

Ok, here is my patch against current 1.3.x cvs

It is a rewrite of picture managment. Changes/improvements:
The image management window now works like a palette, you can work on
your document with image management opened, it will update itself every
10 seconds to reflect changes to the document.

You can now sort the image list by name, path or page

"Show" button (or double click on an entry) now moves to the relevant
page and selects the image.
"Browse" button allows you to replace selected image with another one
without losing image settings (size, ...)
"Search" button allows you to find missing images. You can tell Scribus
where to start looking & if you want to search subfolders. It can also
replace other missing images automatically.

Instructions: download patch2.diff and patch2_uifiles.tar.gz
put patch2.diff in Scribus root, then: patch -p0 < patch2.diff
uncompress patch2_uifiles.tar.gz in Scribus/scribus and move pic_miss.png in Scribus/scribus/icons.

comments/questions welcome.
ringerc (administrator)
2005-07-28 05:22

That's great Jean.

I'll try to have a look over this in a little while... things are pretty busy at work.

A quick glance makes me wonder what picManageOpened is for. It seems to be used to test whether to create the UI for the pic manager. If so, perhaps it's better to just test:

if (!picManager)
   ... create the picmanager

Picmanager should preferably also sanely handle being launched, and being open, when there are no documents open.

I'll have a proper look over your patch when I get a chance. Thanks again.
ringerc (administrator)
2005-07-28 15:50

OK... I've had a bit of a better read. I haven't yet tried the patch and there are still a few bits I'm unclear on. Anyway, your comments on the below would be much appreciated - and rememember, I'm no expert so if you think I'm wrong please tell me so.

- Comments, please. The current Scribus code is severely lacking, but we're trying to fix that as we go.

- I'm not too fond of using a timer to force-rescan all the images. I imagine it might be the only way with the way Scribus's innards severely neglect the Qt event driven stuff, though. I'm still not big on the idea. What we *should* be doing is listening on a signal, either from each image PageItem or possibly from the ScribusDoc or ScribusView, to notify us when something changes. The chances of any of the mentioned classes being able to provide us this service reliably right now are unfortunately minimal.

- I'd prefer to avoid fixed column widths, and I'm not sure we should be changing the user's font size. If we do tweak the font size, it needs to be done in a globally configurable way.

- Under what circumstances might PicStatus::showMenu(...) get called with a null QListViewItem* ? There is nothing in the code to tell the reader that, or explain why returning silently is correct. If you meant "must not be null" you should use a Q_ASSERT, or just comment that your code assumes this. A couple of other places have similar issues.

- Rather than copying code from ScribusApp::slotFileOpen, it's probably better to tidy that up so that the bit that displays the image file dialog is separate. You can then just call it from your code.

- I'm not especially sure I like the way all the mapping of table entries to page items is tied up in the checkbox item class. On the other side, I'm not sure I have any useful suggestions on a better way right now. The more removed that logic is from the GUI code in the table, the happier I'll be ... and this is at least a bunch better than what used to be there (*shudder*).

- PicStatus has a lot of public members that don't look like they should be public.

- (trivial) If the trOK etc statics are going to be removed, then their declaration in the header should be too.

- (trivial) There are a few coding style issues I can fix up - indenting, naming methods LikeThis not likeThis, etc.
jean-baptiste (reporter)
2005-08-01 17:13

New version of my patch against current cvs (patch3.diff):

* added comments

* about the timer approach: I first tried to implement the picture manager using signals and slots, but currently, there is no signal attached to items, and I am not sure it has a sense to do so much changes to the code just for the picture manager. Besides that, I think it could be very complex to manage all cases in a proper way, and new features could easily break the thing.

* columns have an initial width because there seems to be some bug in QT
with QListView that have their columns reordered, giving very weird results in auto mode.

* Under what circumstances might PicStatus::showMenu(...) get called with
a null QListViewItem* ? Not sure to understand what is the problem with that... It is called with a null QListViewItem when the user right clicks on the empty area of the listview. Menu should not be displayed in that case...

* I otherwise made some improvements to avoid duplicate code.

Feel free to use and change the code if you want.
ringerc (administrator)
2005-08-22 07:24

Thanks for that.

I'm currently swamped, and won't be able to review your changes for a couple of weeks. Sorry. With luck someone else will be able to check them out.
ringerc (administrator)
2005-09-12 08:10

aamehl in 0002251 noted issues with:
  - the dialog being modal
  - search flexibility

- Issue History
Date Modified Username Field Change
2005-02-16 02:13 ExScite New Issue
2005-02-16 07:49 ringerc Note Added: 0003721
2005-02-16 07:49 ringerc Severity minor => feature
2005-02-16 07:49 ringerc Category General => User Interface
2005-02-16 07:49 ringerc Summary In Picture Management, Search function needs improvement => Search in Picture Management should search user specified directory list, pick up all matching images in dir.
2005-02-16 14:00 louisdesjardins Note Added: 0003729
2005-05-16 18:47 jb Note Added: 0004668
2005-05-16 18:47 jb File Added: imagemanager.png
2005-06-02 00:22 ringerc Relationship added related to 0001811
2005-06-02 00:23 ringerc Status new => acknowledged
2005-07-13 17:01 ringerc Note Added: 0005563
2005-07-13 17:04 ringerc Note Edited: 0005563
2005-07-13 17:13 ringerc Summary Search in Picture Management should search user specified directory list, pick up all matching images in dir. => Picture Management dialog needs a rewrite
2005-07-13 17:16 ringerc Note Added: 0005567
2005-07-18 17:30 jean-baptiste File Added: picman.png
2005-07-18 17:30 jean-baptiste Note Added: 0005632
2005-07-28 00:42 jean-baptiste File Added: patch2.diff
2005-07-28 00:46 jean-baptiste File Added: patch2_uifiles.tar.gz
2005-07-28 00:51 jean-baptiste Note Added: 0005748
2005-07-28 05:22 ringerc Note Added: 0005753
2005-07-28 15:50 ringerc Note Added: 0005764
2005-08-01 16:24 jean-baptiste File Added: patch3.diff
2005-08-01 17:13 jean-baptiste Note Added: 0005802
2005-08-03 17:44 ringerc Relationship added related to 0002376
2005-08-03 18:31 ringerc Relationship added related to 0002382
2005-08-21 18:04 jghali Relationship added related to 0002463
2005-08-22 00:13 plinnell Relationship added related to 0002467
2005-08-22 07:24 ringerc Note Added: 0006191
2005-09-07 23:51 plinnell Relationship added has duplicate 0000516
2005-09-12 08:07 ringerc Relationship added has duplicate 0002551
2005-09-12 08:10 ringerc Note Added: 0006518
2006-05-14 02:02 mhanski Relationship added related to 0003814
2007-02-27 00:40 cbradney Status acknowledged => assigned
2007-02-27 00:40 cbradney Assigned To => fschmid
2007-12-05 22:08 plinnell Status assigned => resolved
2007-12-05 22:08 plinnell Fixed in Version => 1.3.5svn
2007-12-05 22:08 plinnell Resolution open => fixed
2007-12-13 08:54 cbradney Status resolved => closed

Copyright © 2000 - 2015 MantisBT Team
Powered by Mantis Bugtracker