Skip to content

Latest commit

 

History

History
27 lines (25 loc) · 3.76 KB

File metadata and controls

27 lines (25 loc) · 3.76 KB

Changelog

v2.0.3

  • Build system was changed from QMake to CMake, so TeamForecast.pro was replaced with CMakeLists.text.

v2.0.2

  • LocationModel automatically updates after it created with LocationManager.
  • LocationsManagerView became a singleton to prevent multiple creation on click of a button
  • LocationsManager became a singleton to simplify access to it from settings dialog.
  • Added update_timer and setUpdateInterval(int msec) to LocationsManager (I'll test auto-updating models).
  • Fixed bug: you could mark location as favorite and then changed location, but it was still considered marked as favorite.

v2.0.1

  • Introduced Model-View pattern: base AbstractWeatherModel inherited by CurrentModel, HourlyModel and DailyModel. Most of functions moved to them. The functions of converting the values of temperature, distance, wind speed and pressure into non-standard units of measure have been implemented (so far, you cannot switch them from the application)
  • Redesigned navigation between added locations: instead of creating every time new LocationForecast widget and storing it in QTabWidget I made LocationsManager(which contains all added locations models and provide some functionality to manage them) , LocationsManagerView(dialog-widget with search line, which is view for LocationsManager and LocationMiniView, which shows some info about each LocationModel(click left mouse button to switch current shown location, right to call context RoundedMenu, which allows: edit location, copy, delete or update). Now exists only one instance of LocationForecast which has an opportunity to display selected by user LocationModel or nothing in case user selected nothing.
  • Average RAM usage for each location with new architecture decreased from 15-20mb to 0.3-1.0mb.
  • Most of sources were grouped into folders.
  • All dialogs now inherit RoundedDialog(dialog with round corners).
  • Created AppStyle class(Provides current theme, element's roles enum and element's states enum).
  • Created base class for animated widgets - AnimatedWidget. In it I implemented animation in the style of material design.
  • Created AnimatedButton inherits AnimatedWidget.
  • Created TextWidget as a replace for QLabel text.
  • Added clear() function to ScrollAreaWrapper.
  • Opacity value in DarkOverlayEffect constructor.
  • Some slots replaced with lambdas.
  • updateWidgetInfo(...) functions in CurrentWidget, HourlyWidget and DailyWidget were simplified using models.
  • ExpandingWeatherWidget: now inherits AnimatedWidget. Temporary disabled expanding animation.
  • and many other minor changes.