Is there a way to change default view of multi-day events in Google Calendar so they show in the day rather than as a banner above? - google-apps-script

I have done a bit of looking around but not found a way of doing this.
I believe it is likley possibly using the Google Scripts - Advanced Calendar Service - https://developers.google.com/apps-script/advanced/calendar - before I look into this myself as an amateur I wondered if anyone else had created such a script?
I imagine it would be one that triggers on event creation, checks if it's a multi-day event and if it is then creates daily events say from 06:00 - 23:00 each day, then sets the colour & fill as low opacity [unsure how possible this is].
I find the banner above each day gets missed when I look at my calendar often so would prefer it to display the event in each day but essentially with low opacity in the background.
Thanks in advance for any help :-)

Related

Need Solution for Full Calendar with list of events and link to specific event page

I'm building my final project for my studies and I'm trying to make an event calendar that shows events in the calendar itself. I found a few solutions so I'm good with that part, I think.
Although, what I want to add is an option so that under my calendar there will be a list of all events for this month (it's a monthly calendar) and the list will match what's showing on the calendar itself.
When someone presses one of the events on the list it will take them to a specific page for the event, and there will be an option to have an open discussion about the event.
Is that possible?
Is it to complex for a beginner to do?
What are my options?

Google Calendar - calendar visibility and groupings

When using Google Calendar in Chrome, there is a 'Display this only' option that will hide all my calendars apart from the selected calendar. I have a list of about 20 calendars so this feature is very useful.
The problem is that to re-enable the visibility of the other 19 calendars, I have to click on each calendar's checkbox (in the left sidebar), one at a time. This is not at all practical when needed a less complicated view for dealing with many events in each of the calendars.
Ideally, what I would like is to have the ability to turn on the visibility of all calendars with one click, but also to group calendars so that I can show and hide groups of calendars with one click. This would work really well with Room and Resource calendars.
I understand that users have been requesting that Calendar natively support these types of features for over 10 years now. From the lack of response on this issue from Google, it seems they don't think this is worth adding, which surprises me considering half of the feature is there with the 'Display this only' option.
So, does anyone know of a way to create visibility groups (or all calendars shown/hidden with a click) programmatically? Maybe with Google App Script? I would appreciate anything that could point me in the right direction.

Adding script to a button which can display Time now

Hi I am trying to make a spreadsheet with Button formed through shapes (using Drawing tool) and then assign script to it, to track Start time and End time. Basically the two button side by side would say Start and Stop, when you start working, you click the button and the start time would get recorded and when you click the Stop button it would record the time then as Stop time. I was reading the script tutorial and it said that now() argument is not allowed, is there any other way to do this on Google Sheets, because in Excel it is pretty simple.
Google Apps Script is based on JavaScript : new Date() is the equivalent of now()
Your idea is not bad but these button are not fixed, they move with the page whenever you scroll down...
I'd suggest using the sidebar available in new (standard) version of spreadsheets to place your 2 buttons and the corresponding results.
You can use HTMLService or UiApp to build a pretty user interface in the sidebar.

How can a calendar refresh/reload after a event was changed?

I'm changing a event using the CalendarApp script, but it seems it appears on the Calendar UI only after a random time, ranging from seconds to minutes. Is there a way to force the event to be updated/refresh on the Calendar immediately after it was changed on the script?
I tried using several combinations of
cal.setHidden(true);
cal.setHidden(false);
cal.setSelected(false);
cal.setSelected(true);
CalendarApp.setHidden(true);
CalendarApp.setHidden(false);
CalendarApp.setSelected(false);
CalendarApp.setSelected(true);
but I still have inconcistent results. Any idea?
Thanks in advance.
The calendar service and the calendar Browser Ui are two separate things, they have no relationship except being linked to the same source (the calendar itself), there is no way for a script to interact with the calendar Ui... You can use the refresh button under "more" menu in the upper right corner of Calendar Ui but that is all you can do.

QWidget or just paintings?

I work on a Qt4 calendar custom widget and in month view (a grid of more or less 30 cells/days), in each day's cell, I want to draw events of the day like this:
start hour - title
start hour - title
start hour - title
(...)
So, just a vertical list of events, with HTML formatting.
I'd like to offer the possibility to move events betweens cells with drag'n'drop.
So, I don't know if I must create a QWidget for each cell with QLabels inside or if I can render html on those cells and manage drag'n'drop in a other way...
If you want to, you could manage drag and drop yourself by checking which item was clicked on when the drag started, and putting the appropriate data into the drag events. However, I think your first option sounds easier, at least until you come across other requirements that makes it not work.