> On Oct. 31, 2015, 2:08 a.m., David Edmundson wrote: > > src/declarativeimports/calendar/daysmodel.h, line 44 > > <https://git.reviewboard.kde.org/r/125817/diff/4/?file=413167#file413167line44> > > > > I think we need some sort of > > > > QStringList availablePlugins() > > > > setPlugins( QStringList plugins);
What for? > On Oct. 31, 2015, 2:08 a.m., David Edmundson wrote: > > src/declarativeimports/calendar/daysmodel.cpp, line 63 > > <https://git.reviewboard.kde.org/r/125817/diff/4/?file=413168#file413168line63> > > > > who deletes it? Right, needs a qDeleteAll in ~ > On Oct. 31, 2015, 2:08 a.m., David Edmundson wrote: > > src/declarativeimports/calendar/daysmodel.cpp, line 167 > > <https://git.reviewboard.kde.org/r/125817/diff/4/?file=413168#file413168line167> > > > > Are you sure this works? > > > > From what I see you're copying the event, then replacing the copy. > > > > (though the autos make it confusing, so I may be wrong) Yes, it does work. This looks through the stored events and replaces the stored one with the one that is passed as the method argument. > On Oct. 31, 2015, 2:08 a.m., David Edmundson wrote: > > src/declarativeimports/calendar/daysmodel.cpp, line 179 > > <https://git.reviewboard.kde.org/r/125817/diff/4/?file=413168#file413168line179> > > > > this can be an invalid index, best to check it > > > > (in each case we do this) But then all it does is emit dataChanged() with invalid signal...but I'll add a check anyway. > On Oct. 31, 2015, 2:08 a.m., David Edmundson wrote: > > src/declarativeimports/calendar/daysmodel.cpp, line 209 > > <https://git.reviewboard.kde.org/r/125817/diff/4/?file=413168#file413168line209> > > > > who owns this? > > > > Q_INVOKABLE tries to be clever, which basically means I never know. > > > > If QML owns it (which I think it does) you're potentially returning > > null values if this is called twice > > > > if you own it, you're leaking this if you have m_qmlData when the model > > is deleted Ah, good spot. Should be owned by the model, ideally. All problems solved. > On Oct. 31, 2015, 2:08 a.m., David Edmundson wrote: > > src/declarativeimports/calendar/plasmacalendarintegration/calendareventsplugin.h, > > line 173 > > <https://git.reviewboard.kde.org/r/125817/diff/4/?file=413173#file413173line173> > > > > Unless needed otherwise, I'd put the UID in the constructor. > > > > If a plugin uses this, you screw everything up > If a plugin uses this, you screw everything up I don't follow. Note that uid is not a mandatory property. You can have events without uid. As the comment above it says, it's useful only if you want to implement eventModified/eventRemoved (so that it can locate the events in the model), which in case of eg. holidays is not needed, cause they are not going to be modified/removed. So there's no need to make those plugins more complex for no reason. > On Oct. 31, 2015, 2:08 a.m., David Edmundson wrote: > > src/declarativeimports/calendar/plasmacalendarintegration/calendareventsplugin.h, > > line 202 > > <https://git.reviewboard.kde.org/r/125817/diff/4/?file=413173#file413173line202> > > > > rather than this much docs, would it make sense to have a protected > > method that takes a list, then in this class you turn that into the hash? Well if the only reason to do that is because "there's too much to read", then no :P - Martin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/125817/#review87768 ----------------------------------------------------------- On Oct. 28, 2015, 6:18 p.m., Martin Klapetek wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/125817/ > ----------------------------------------------------------- > > (Updated Oct. 28, 2015, 6:18 p.m.) > > > Review request for Plasma and Daniel Vrátil. > > > Repository: plasma-framework > > > Description > ------- > > This adds a simple plugin interface that can be subclassed > and provide events integration with Plasma Calendar applet. > > It's asynchronous and I've kept it deliberately simple. > For now the Calendar tells the plugins which date range > is being displayed, the plugins load the data and then > emit the dataReady() signal containing the events. > > The events are stored in a multihash for quick access > by the Calendar's agenda part but also for overall > easy-to-use (eg. in teh model data()). > > The event data is stored in EventData class, which has > a pretty self-explanatory members, except perhaps the > "isMinor" one. The intention with this is to support > namedays, where in some countries the calendars have > different name every day. This is just a minor holiday > and as such should not mark the calendar grid, otherwise > the whole grid would be in a different color. > > Putting the interface here might raise the question of > depending on plasma-framework, but plugins provided by > KDE can go to plasma-workspace and other 3rd party ones > would just have to live with it. I don't think it will > be a problem but if it turns out it is, we can rethink > the placement. > > > Diffs > ----- > > src/declarativeimports/calendar/CMakeLists.txt 40ead91 > src/declarativeimports/calendar/calendarplugin.cpp bafe80c > src/declarativeimports/calendar/daysmodel.h a5bdac9 > src/declarativeimports/calendar/daysmodel.cpp 2d059a8 > src/declarativeimports/calendar/eventdatadecorator.h PRE-CREATION > src/declarativeimports/calendar/eventdatadecorator.cpp PRE-CREATION > src/declarativeimports/calendar/plasmacalendarintegration/CMakeLists.txt > PRE-CREATION > > src/declarativeimports/calendar/plasmacalendarintegration/PlasmaCalendarIntegrationConfig.cmake.in > PRE-CREATION > > src/declarativeimports/calendar/plasmacalendarintegration/calendareventsplugin.h > PRE-CREATION > > src/declarativeimports/calendar/plasmacalendarintegration/calendareventsplugin.cpp > PRE-CREATION > src/declarativeimports/calendar/plasmacalendarintegration/eventdata_p.cpp > PRE-CREATION > > src/declarativeimports/calendar/plasmacalendarintegration/plasmacalendarintegration_export.h > PRE-CREATION > > Diff: https://git.reviewboard.kde.org/r/125817/diff/ > > > Testing > ------- > > I have a simple KHolidays based plugin written (patch should be up later > today) > and patches in the Calendar applet. > > Everything works as expected: > * the days are marked as containing an event > * the agenda part displays details of that event (name) > > > Thanks, > > Martin Klapetek > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel