summaryrefslogtreecommitdiff
path: root/src/gui/widgets/avatarlistbox.cpp
AgeCommit message (Collapse)AuthorFilesLines
2025-07-15Theme: Introduced HIGHLIGHT_TEXT colorThorbjørn Lindeijer1-1/+5
For customizing the text color used with HIGHLIGHT color as background.
2025-04-28GUI: Use theme icons for offline/online player indicatorsThorbjørn Lindeijer1-27/+23
Instead of loading images directly, which is less flexible. In Jewelry theme, these icons are embedded in the window.png image.
2025-04-25GUI: Added support for multiple color palettes to ThemeThorbjørn Lindeijer1-3/+5
Each Skin can point to a different palette, which can be used to tweak text colors where necessary. For now there is no generic solution for this, instead a number of locations have been adjusted to take the palette into account: * ChatWindow sets its palette on the BrowserBox used in its tabs. * Popup sets its palette on child widgets when they are added (covering BrowserBox, Label and TextBox). * ItemPopup now uses its palette when looking up colors. The BrowserBox now retrieves its numbered text colors from the theme. Also added OLDCHAT, AWAYCHAT and GLOBAL theme colors, with ##g, ##o and ##a to choose these colors respectively. Fixed ImageRect move constructor. TextPreview class was cleaned up from unused functionality. Being name colors are no longer different between the name shown on the being and the name shown in the SpeechDialog.
2025-03-14Moved widget drawing code into ThemeThorbjørn Lindeijer1-6/+4
This is cleaner overall since now each widget type no longer needs to keep track of its own instances and updating of the GUI alpha. It also introduces a single point from where the GUI theme support can be enhanced. Theme is no longer a singleton, though for now there is a single instance owned by the Gui singleton. Widgets adjusted to delegate their painting to the Theme: * Button * Tab * TextField * CheckBox * RadioButton * Slider * DropDown * ProgressBar * ScrollArea * ResizeGrip * PlayerBox (by subclassing ScrollArea) The Window and Popup widgets already use the theme through the Skin class. They can actually use a different skin per instance, though this feature is only used by the SpeechBubble.
2025-02-26Use ResourceRef for all resource typesThorbjørn Lindeijer1-4/+4
All ResourceManager functions that load resources now return respective ResourceRef values, which helps to make sure resources are properly cleaned up. The Sound class was cleaned up and now also allows SoundEffect resources to be unloaded. The Animation class now keeps its ImageSet loaded only as long as necessary. Previously, SimpleAnimation and ParticleEmitter would keep the ImageSet loaded indefinitely by never decreasing its reference count. Reduced duplicated animation loading code between SimpleAnimation and ParticleEmitter.
2024-06-25Added online player list to Social windowDavid Athay1-15/+1
The online list refreshes every 18 seconds, which matches ManaVerse behavior. It's not ideal, but to improve this would mean diving into TMWA. The client version was bumped to 8 to get a SMSG_ONLINE_LIST reply. Further changes needed related to the client version are tracked by #71. This also changes the TabbedArea to take into account the frame size for its tab widgets, to make sure those frames are not clipped by the TabbedArea widget (as happened in the Social window). The horizontal scroll bar is now disabled in all social tabs, with the vertical one appearing only when necessary. Closes #61
2024-02-13General code cleanupsThorbjørn Lindeijer1-1/+0
* Removing unused includes * Use member initialization * Use range-based for loops * Use nullptr * Removed no longer used aliases * Use override * Don't use else after return * Use '= delete' to remove implicit members * Use std::string::empty instead of comparing to ""
2024-01-26Apply C++11 fixitsThorbjørn Lindeijer1-4/+4
modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using
2012-01-26Updated copyrights to 2012Thorbjørn Lindeijer1-1/+1
2010-11-01Merge branch '0.5' of gitorious.org:mana/manaYohann Ferreira1-9/+0
Conflicts: src/being.cpp src/client.cpp src/commandhandler.cpp src/gui/setup_video.cpp src/gui/socialwindow.cpp src/gui/viewport.cpp src/gui/widgets/browserbox.cpp src/gui/widgets/itemcontainer.cpp src/imageparticle.cpp src/localplayer.cpp src/localplayer.h src/map.cpp src/net/tmwa/beinghandler.cpp src/particle.cpp src/particle.h src/player.cpp src/player.h
2010-09-28Removing click-countStefan Dombrowski1-9/+0
Click-count is not double-click, because it does neither check if the clicks happen on the same object nor if the clicks happen in rapid succession. * In the server dialog it can happen that you can get connected by just selecting a server. * In the social window it can happen that you open a chat by just clicking once on a name. * In the inventory window you better only select useable items if you want to use them, because they might get used by just selecting them. * And in case you actually want to use double-click, it often does not work, because click-count is already larger than 2. This reverts the commits: 8b4d9f9b5eaf175baf0c4209c312133bb457742c b1aef06ac85b1ed7db7725e50b2dbfcdfd1a0925 4c27bfbf6ca84546e5b914b7909df14dd2966081 Reviewed-by: Thorbjorn
2010-08-03Move Theme and UserPalette to the resources folderJared Adams1-1/+1
Reviewed-by: Yohann Ferreira
2010-03-26Replace most dynamic_casts with static_castsJared Adams1-10/+7
The remaining instances can't easily or safely be changed as the classes involved don't have type information like Being does. Reviewed-by: Freeyorp
2010-03-12Split Palette into Theme and UserPaletteJared Adams1-3/+3
Themes can now control the colors they use. Colors in the Viewport (being names, particles, etc) can still be changed by the user. Also make ProgressBars more easily colored. DyePalette was made more flexible in the process. Also fixes comparing strings of different lengths insensitively. Reviewed-by: Thorbjørn Lindeijer
2010-03-05Rename SkinLoader to ThemeJared Adams1-3/+3
Also merge the guialpha ConfigListener into Theme. Reviewed-by: Thorbjørn Lindeijer
2010-02-28Make the gui more themeable and distribute two themesJared Adams1-2/+3
The older gray theme and the new wood theme are available as themes. The gray theme needs some new graphics for hilights. Add a theme option for branding and add path/to/branding/data to the PhysFS search path. Reviewed-by: Thorbjørn Lindeijer Reviewed-by: Chuck Miller
2010-02-22Fix more copyright headersJared Adams1-1/+1
2010-02-21Made tick counter and framerate limiter work during login sequenceThorbjørn Lindeijer1-0/+2
Much code was moved from main() to the new Client::exec(). This new event loop now integrates with the Game class, so that the tick counter and framerate limiter apply universally. The Client class is also responsible for some things that used to be global variables. Mantis-issue: ...
2010-02-20License header update for The Mana ClientThorbjørn Lindeijer1-4/+3
2010-02-08Open a WhisperTab when you double-click on an Avatar in an AvatarListBoxJared Adams1-0/+12
2010-02-08Fix finding width of bold textJared Adams1-1/+1
2010-02-08Fix some bugs in party handling and add HP to AvatarListBoxJared Adams1-2/+14
2010-02-08Merge PartyWindow and GuildWindow into SocialWindowJared Adams1-0/+133