Commit graph

74 commits

Author SHA1 Message Date
Dan Stillman
c82af749ac Don't force Lucida Grande in various components on macOS 2022-05-13 04:28:56 -04:00
Adomas Venčkauskas
cbbff600a6 XUL -> JS tree megacommit
- Just a single huge commit. This has been developed over too long a
time, required many tiny changes across too many files and has seen too
many iterations to be separated into separate commits.
The original branch with all the messy commits will be kept around for
posterity
bb220ad0f2...adomasven:feature/react-item-tree
- Replaces XUL <tree> element across the whole zotero client codebase
with a custom supermegafast virtualized-table inspired by
react-virtualized yet mimicking old XUL treeview API. The
virtualized-table sits on top on a raw-to-the-metal,
interpreted-at-runtime JS based windowing solution inspired by
react-window. React-based solutions could not be used because they were
slow and Zotero UI needs to be responsive and be able to
display thousands of rows in a treeview without any slowdowns.
- Attempts were made at making this screen-reader friendly, but yet to
be tested with something like JAWS
- RTL-friendly
- Styling and behaviour across all platforms was copied as closely as
possible to the original XUL tree
- Instead of row-based scroll snapping this has smooth-scrolling. If
you're using arrow keys to browse through the tree then it effectively
snap-scrolls. Current CSS snap scroll attributes do not seem to work in
the way we would require even on up-to-date browsers, yet alone the ESR
version of FX that Zotero is on. JS solutions are either terrible for
performance or produce inexcusable jitter.
- When dragging-and-dropping items the initial drag freezes the UI for
a fairly jarring amount of time. Does not seem to be fixable due to
the synchronous code that needs to be run in the dragstart handler.
Used to be possible to run that code async with the XUL tree.
- Item tree column picker no longer has a dedicated button. Just
right-click the columns. The column preferences (width, order, etc) are
no longer handled by XUL, which required a custom serialization and
storage solution that throws warnings in the developer console due to
the amount of data being stored. Might cause temporary freezing on HDDs
upon column resize/reorder/visibility toggling.
- Context menu handling code basically unchanged, but any UI changes
that plugins may have wanted to do (including adding new columns) will
have to be redone by them. No serious thought has gone into how plugin
developers would achieve that yet.
- Opens up the possibility for awesome alternative ways to render the
tree items, including things like multiple-row view for the item tree,
which has been requested for a long while especially by users switching
from other referencing software
2021-08-21 06:58:12 -04:00
Martynas Bagdonas
a96c16a33d Fix resizing for all vertical panes on macOS 2021-03-02 17:58:28 -05:00
Martynas Bagdonas
45a3e96e68 Improve the new UI:
- Rollback all redundant changes made in the last few months
- Introduce `contextPane`
- Show child notes in the notes pane
- Fix splitter styling
- Various bug fixes
- Fix contextPane switching and states persistence
- Persist reader sidebar open/close state
- Fix bottom pane placeholder updating concurrency issues
- Fix toolbar placeholder width updating
- Display titles for split button
- Fix toolbar position when switching tabs
- Add PDF tab loading cover
- Improve notes and citations insertion
- Clean up and refactor code
- Fixes and cleanups to PDF reader
2021-03-02 17:54:48 -05:00
Dan Stillman
ab04468342 Item pane improvements for contextual/pinned modes
- Show item title at top of item pane in contextual mode not in a
  library tab
- Show "All Notes" at top of standalone notes pane
- Add background color when clicking notes in standalone notes list
- Clean up back buttons

Mode button is still a placeholder but uses emoji to show the mode
2021-03-02 17:43:10 -05:00
Martynas Bagdonas
bb5075e8b8 Experiment with the new item pane UI 2021-03-02 17:43:10 -05:00
Dan Stillman
787641dc17 Fix display of item pane after pinned-note changes
Stacked mode is still broken
2021-03-02 17:43:10 -05:00
Dan Stillman
5791ffeb16 Reactify item tags box
Improvements:

- Fixes autocomplete text remaining in field after selection in Fx60
- No more text or icon shifting on select (tested on macOS)

Changes:

- Tags are now selected on mousedown with no active state, as in web
  library

Regressions:

- Tooltip with tag type doesn't appear when hovering over icon
- Pressing Tab after modifying a tag loses focus
- Right-click in textbox shows custom menu instead of default text
  editing context menu (Cut/Copy/Paste)

To-do:

- Switch to this version for note tags box
- Style colored tags in autocomplete drop-down? Sort to top?
- Only show delete button on row hover, as in web library?
2019-11-08 06:41:06 -05:00
Dan Stillman
9a49718638 Remove some old Zotero for Firefox code
In particular, remove code related to opening/closing the Zotero pane,
which affects tests. The pane is now opened by default in Firefox, which
brings its behavior closer to the main version.
2019-08-27 00:47:39 -04:00
Dan Stillman
e48a1a2abb Remove lots of old Zotero for Firefox code
We still run tests in Firefox, so not everything can be removed.
2018-08-17 03:17:08 -04:00
Dan Stillman
d44cc05c3d Use 1.25dppx for HiDPI icon threshold
On some laptops, scaling settings might cause the DPI to drop between
96 (1x) and 144 (1.5x), and downscaled icons are probably better than
upscaled ones.
2018-03-19 13:46:50 -07:00
Dan Stillman
640846961a 2x grippy dimple 2017-12-01 13:09:06 -05:00
Dan Stillman
5b2af4845b Toolbar button and icon overhaul
- New 2x toolbar button shapes and other icons from @johanneskrtek --
  this HiDPI-ifies basically all graphics other than a few remaining item
  type icons
- Use the Mac search dropmarker for all menu buttons, since it's wider
  and more pleasant. Reduce menu button padding slightly to compensate.
- Better toolbar button state for inactive window and pressed state
- Fix dropmarker overlap in tag selector icon

Closes #347, Better/retina-style OS X toolbar icons
Closes #1339, Create new button PNGs for macOS
2017-10-17 20:53:43 -04:00
Dan Stillman
1da18e4ca7 Add "Stop Sync" button
Stops all syncing (not just file syncing like in 4.0) as soon as
possible.
2017-07-07 05:28:20 -04:00
Dan Stillman
740795f249 Expand draggable area of splitters on macOS while preserving 1px width
(Borrowing a technique from Thunderbird.)

This only affects the splitters in standard view. The splitter between the top
and bottom panes in stacked view still has a 1px draggable area.

We can probably do a similar thing to slim down splitters on Windows, as
planned in #367.
2017-01-12 02:22:33 -05:00
LinuxMercedes
6bff554976 Add a second horizontal layout to Zotero for small screens (#1010) 2016-05-27 20:57:29 -04:00
Dan Stillman
315100e5ef Remove obsolete style code 2016-05-03 12:06:29 -04:00
Dan Stillman
fc6c113f25 Show intro text for My Publications in middle pane when no items
ZoteroPane.setItemsPaneMessage() and setItemPaneMessage() can now
optionally take a DOM node instead of a string.

Closes #705
2016-03-24 09:03:59 -04:00
Dan Stillman
88f1636d08 Toolbar icon tweaks
- Fix spacing on Windows and Linux in latest Firefox versions
- Tweak icon colors on Windows and OS X
- Adjust Z SVG to take up full height, so Z is a full 16px instead of
  14px with slight anti-aliasing
- Use generated PNGs instead of SVG for Z toolbar icons, to remove the
  need for complicated size rules
- Add separate platform-specific .svg files that are used by a
  zotero-build script, make-z-icons, to generate the Z PNGs; the main
  SVG is still used directly in the menu panel and customization
  palette, with platform media queries to determine the coloring
2016-02-10 03:33:01 -05:00
Dan Stillman
9d2b097605 Fix toolbar icons in non-nav-bar toolbars on OS X and Windows
...which only required redoing the entire styling.

Not yet done on Linux
2015-07-02 05:50:57 -04:00
Dan Stillman
1d6483e68a Fix #773, Zotero combo icons dispersed under more tools
And fix save button hover height on Windows, which somehow got out of
whack again.

Might need further tweaking on Linux

Need to find a better way to do these buttons...
2015-06-29 05:59:19 -04:00
Dan Stillman
61e11f9afa Fix main toolbar icons in 2x mode on Win/Linux 2015-04-07 03:06:25 -04:00
Dan Stillman
bfbf3d871c Fix display of sync error icon (2x and spacing) 2015-04-06 17:39:21 -04:00
Dan Stillman
af871a3fd5 Add 2x versions of many icons
Courtesy of Pastel SVG (2x famfamfam)

I didn't add 2x versions for any composite icons or any Fugue icons.

Also:

- Removed some unused/redundant images
- Switched to shadowless versions for a couple Fugue icons
2015-04-06 17:24:55 -04:00
Dan Stillman
a1bed8b5ad More icon tweaks
- New dedicated Zotero button, available in the Customize palette
- Remove "16px" Z SVG and just render "32px" one at the smaller size
  (there's a slight difference at the edges, but we should probably redo
  it anyway so that dark lines reach all the way to the bottom)
- Change "Open Zotero" back to just "Zotero", since 1) it's for closing
  too, 2) it can also just bring Standalone to the front, and 3) "Open
  Zotero" looks weird and inconsistent in the menu panel next to things
  like "Preferences"
- For now, show single large Z for combo buttons in customization
  palette with "Zotero (Combo)", though we can probably do something
  better.
- Fix some HiDPI bugs when moving items between areas

Still need a layout for the panel for the combo buttons
2015-02-27 03:35:18 -05:00
Dan Stillman
0ab38f1d43 Add borders to collapsed collections/items splitters
We can think about making them more wider, etc., but this makes them ever so
slightly more visible.
2015-02-23 19:48:28 -05:00
Dan Stillman
003db7c894 Toolbar icon tweaks on OS X 2015-02-23 02:38:48 -05:00
Dan Stillman
a85a9a632e Decrease right-padding of middle button by 1px on OS X 2015-02-22 06:46:07 -05:00
Dan Stillman
1069b483cc Fix toolbar buttons on Linux
Known issues:

- The dropmarker segment doesn't get a background highlight color on
  hover. And now you'll notice. Sorry.
2015-02-22 06:46:07 -05:00
Dan Stillman
9a87f15956 Toolbar button overhaul
The address bar icon now lives in a new combo buttonset containing the main Z, "Save to Zotero", and a dropmarker for the former save-icon right-click menu (which we could conceivably use more heavily going forward now that it's more accessible). There's also a separate dedicated Save to Zotero (+ dropmarker) button, not shown by default, that can be swapped in for people who don't want the Z.

The tooltip for the save icon also now shows the keyboard shortcut (though that unfortunately makes for a lot of parentheses).

Known issues:

- Untested on ESR
- Untested on Linux
- Might need refinement on Windows
- Weird 1px horizontal area at bottom of save button that highlights dropmarker (at least on OS X)
- Probably needs a third button option with just the Z icon so that the main button and the save button can be placed separately (e.g., save button in toolbar, Z in panel)
- Combo buttonset needs an inactive single-icon state for the palette and either needs a state for the panel (which might need to span all three columns?) or if possible should just move the other two icons in and put itself back in the palette
- The absurd amount of time and CSS it took to get the toolbar icons looking right on OS X, since apparently no one has put a menu-button inside a combined toolbar button before
2015-02-21 04:16:34 -05:00
Philipp Zumstein
d5b4c31575 Right pane (item-pane) can be collapsed
This belongs to issue #509 and was asked several times in the forum.

 * Add attribute `collapse="after"` to the splitter and add a grippy element.
 * To remember its state after restart I copied `zotero-persist="state"`.
 * Handle zotero-items-splitter the same as zotero-collections-splitter in zotero-platform/mac/overlay.css
 * Change min-width to 250px for #zotero-item-pane in zotero/overlay.css.
 * Update the function `updateToolbarPosition` in zotero/zoteroPane.js:
   * The width of the items-toolbar is corrected if the left pane is collapsed (and the icons are grouped on the left margin together).
   * If the right pane is collapsed, then the items-toolbar is made flexible while making the item-toolbar unflexible. As a result the search box and locate icon are flushed right to the other icons.
2015-01-07 10:41:18 +01:00
Dan Stillman
aab3276276 Use old-style searchbox in Yosemite pre-Fx34
Yosemite introduces a new search textbox shape, but Firefox still uses
the old focus ring shape until 34, so we fake the old searchbox shape
for earlier versions.
2014-10-14 02:22:44 -04:00
Dan Stillman
472892b4f0 Closes #482, Include active info pane tab in tab cycle on OS X
That was easy. (@simonster, since you disabled this originally, any reason not
to do this, other than the extra tab stop? At least in current Firefox
versions, this is the default behavior.)
2014-05-17 04:10:37 -04:00
Dan Stillman
4179cb8ed6 Retina tree twisties for OS X
Using separate arrows from treetwisty.svg from Mozilla, since it doesn't seem
to be possible to use list-style-position in the tree

The reason we still have to do this at all is that coloring of the twisties in
the tree still gets messed up as you move around the tree. (This still happens
in Places and Thunderbird as well.)
2014-04-28 03:52:18 -04:00
Simon Kornblith
d0d0f14edb Disable context menu icons on OS X 2013-04-14 01:47:05 -04:00
Dan Stillman
bb93f019dc File sync overhaul
- New promise-based architecture
- Library-specific file sync queues, allowing other libraries to
  continue if there's an error in one library
- Library-specific sync errors, with error icons next to each library
- Changed file uploading in on-demand download mode, which had been missing
- On-demand download progress indicator in middle pane
- More accurate progress indicator
- Various tweaks and bug fixes
- Various future tweaks and bug fixes
2012-12-11 15:16:40 -05:00
Simon Kornblith
ac5d833117 Remove antiquated code 2012-02-10 01:38:01 -05:00
Simon Kornblith
d4552a8c6c Tweak toolbar UI 2012-02-01 22:23:07 -05:00
Simon Kornblith
540abc70da Add a little more spacing 2012-01-26 02:37:11 -05:00
Simon Kornblith
bf10b7192b Set pane padding to 0 on Linux 2012-01-25 19:16:29 -05:00
Simon Kornblith
0f71d2456e Small tweak for Fx 3.6 2012-01-25 18:11:38 -05:00
Simon Kornblith
163fd52efd Revert to last iteration 2012-01-25 17:47:04 -05:00
Simon Kornblith
fe59c353ad More playing around 2012-01-25 04:02:26 -05:00
Simon Kornblith
5610f77943 Flirt with styling the tab bar differently from the toolbar 2012-01-25 03:49:07 -05:00
Simon Kornblith
26a49cf8b8 Slightly wider, fix highlight 2012-01-25 03:33:55 -05:00
Simon Kornblith
93643b012e Return to 11px bold text 2012-01-25 03:26:10 -05:00
Simon Kornblith
ef1deb3691 Fix text position 2012-01-25 03:18:17 -05:00
Simon Kornblith
bd74c29bce Fix buttons in Nightly 2012-01-25 03:10:06 -05:00
Simon Kornblith
223bfe74db Disable toolbar buttons in collections that cannot be edited 2011-10-02 23:28:38 +00:00
Simon Kornblith
24742691b8 Reduce toolbar button opacity when inactive or disabled 2011-10-02 23:13:18 +00:00