Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: HaikuArchives/Calendar
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 07ce04b2b5ba
Choose a base ref
...
head repository: HaikuArchives/Calendar
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2e1b8f653878
Choose a head ref
  • 2 commits
  • 39 files changed
  • 1 contributor

Commits on Dec 22, 2021

  1. Move icon file to new folder "artwork"

    No icons are currently used beside the app icon.
    Move the app icon ressource into calendar.rdef
    Humdinger committed Dec 22, 2021
    Copy the full SHA
    4b8394a View commit details
  2. Add documentation

    as HTML to be opened with the "App | Help..." menu inside the app.
    Needs to be packaged in $docDir with haikuporter, i.e. it ends up in
    documentation/packages/calendar.
    
    Have the Readme.md link to the documentation.
    Humdinger committed Dec 22, 2021
    Copy the full SHA
    2e1b8f6 View commit details
Showing with 245 additions and 159 deletions.
  1. +1 −9 Makefile
  2. +6 −125 README.md
  3. BIN {images → artwork}/icons/add_event.iom
  4. 0 {images → artwork}/icons/add_event.rdef
  5. BIN {images → artwork}/icons/app_icon.iom
  6. BIN {images → artwork}/icons/category.iom
  7. 0 {images → artwork}/icons/category.rdef
  8. BIN {images → artwork}/icons/event-cancelled.iom
  9. 0 {images → artwork}/icons/event-cancelled.rdef
  10. BIN {images → artwork}/icons/event-hidden.iom
  11. 0 {images → artwork}/icons/event-hidden.rdef
  12. BIN {images → artwork}/icons/event.iom
  13. 0 {images → artwork}/icons/event.rdef
  14. BIN {images → artwork}/icons/toolbar_placeholder.iom
  15. 0 {images → artwork}/icons/toolbar_placeholder.rdef
  16. BIN artwork/main_window.wb
  17. +212 −0 documentation/Documentation.html
  18. BIN documentation/images/calendar_icon_64.png
  19. BIN documentation/images/category_edit.png
  20. BIN documentation/images/category_manager.png
  21. BIN documentation/images/event_manager.png
  22. BIN documentation/images/main_window.png
  23. BIN documentation/images/settings.png
  24. BIN documentation/images/up.png
  25. BIN images/authorization_window.png
  26. BIN images/calendar_icon_64.png
  27. BIN images/calendar_preview_1.png
  28. BIN images/calendar_preview_2.png
  29. BIN images/category_edit.png
  30. BIN images/category_manager.png
  31. BIN images/category_manager_2.png
  32. BIN images/event_manager.png
  33. BIN images/event_manager_2.png
  34. +0 −21 images/icons/app_icon.rdef
  35. BIN images/main_window.png
  36. BIN images/notification_gif.gif
  37. BIN images/preference_window.png
  38. BIN images/sync_window.png
  39. +26 −4 src/calendar.rdef
10 changes: 1 addition & 9 deletions Makefile
Original file line number Diff line number Diff line change
@@ -60,15 +60,7 @@ SRCS = \

# Specify the resource definition files to use. Full or relative paths can be
# used.
RDEFS = \
src/calendar.rdef \
images/icons/add_event.rdef \
images/icons/app_icon.rdef \
images/icons/category.rdef \
images/icons/event.rdef \
images/icons/event-cancelled.rdef \
images/icons/event-hidden.rdef \
images/icons/toolbar_placeholder.rdef \
RDEFS = src/calendar.rdef


# Specify the resource files to use. Full or relative paths can be used.
131 changes: 6 additions & 125 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,129 +1,10 @@
![Calendar Icon](images/calendar_icon_64.png)
**Calendar**
for [Haiku](https://www.haiku-os.org/).
![Calendar Icon](documentation/images/calendar_icon_64.png) **Calendar** for [Haiku](https://www.haiku-os.org/).

![GSoC 2017](https://img.shields.io/badge/GSoC-2017-green.svg)
![MIT License](https://img.shields.io/github/license/mashape/apistatus.svg)
* * *

***
Calendar is a native Haiku application to manage your appointments.
You can create, edit and delete events, and cancel or hide them, categorize events and show them in a day, week or month view.

[About](https://www.haiku-os.org/blog/akshayagarwal007/2017-05-08_gsoc_2017_calendar_application/) | [Blog Posts](https://www.haiku-os.org/blog/akshayagarwal007/)
![screenshot](documentation/images/main_window.png)

A native Calendar application for Haiku.

### Features

* Create, modify and delete events.
* Generate notifications for events.
* Day Calendar view.
* Event categorization.
* Set 'All day' long events.
* Fetching events from Google Calendar using Google Calendar API.
* SQLite backend for storing events.
* Setting preferences like 'First day of week',
'Display week number in Calendar'.
* App localization: DateTime strings are localised and updates with
locale preferences change but GUI string still needs to be localized.

**Main Window**

![Main Window](images/main_window.png)

*The toolbar icons are just placeholder icons.*

* MenuBar
* App
* About: Shows about window.
* Preferences: Opens app preferences window.
* Synchronize->Google Calendar: Opens Google Calendar sync window.
* Quit: Closes the app.
* Event
* Add Event: Opens event manager.
* Edit Event: Opens event manager in Edit mode for selected event.
* Delete Event: Deletes selected event.
* Category
* Edit Categories: Shows 'Day View' as the main view in the main window.
Currently it's of no use as the default view is 'Day View' itself and
there is no other view(For e.g 'Month View', 'Agenda View').
* View
* Day View: Shows 'Day View'.
* Today: Sets the calendar widget to the current system date and shows
today's events in the day view.

* ToolBar
* Add Event: Opens Event Manager Window.
* Day View: Shows 'Day View' as the main view in the main window. Currently
it's of no use as the default view is 'Day View' itself and there is no other
view.(For e.g 'Month View', 'Agenda View').
* Today: Sets the calendar widget to the current system date and shows
today's events in the day view.


Double click on an individual event in the list will open the Event Manager in
edit mode. Right click on an individual event in the list will show the context
menu. 'Edit' will open the Event Manager in edit mode and the 'Delete' will
delete the event. A warning is shown so as to avoid accidental deleting of
events.

Day View shows the events belonging to the date selected in the Calendar Widget.
The color bubbles in event list items are the category indicator of the events.

The big date header in the top right currently shows the current system date.

**Event Manager**

![Event Manager](images/event_manager_2.png)

Event details like name, place, description can be filled here. Appropriate
category can be selected which is set to 'Default' category by default. An event
can be made an 'All Day' event i.e it continues for the entire day and has no
start/end time. Start/End date can be selected from the calendar pop-up which
pops up on pressing the ▼ button. The start/end time is a simple text control
where the time can be entered in HH:mm(24-hour format) and defaults to 00:00 in
case of bad data entered. In case it's opened in Edit mode the various fields
are filled with event specifics and delete button is enabled.

**Category Manager**

![Category Manager](images/category_manager_2.png)

This manages event categories which can be assigned to events. It contains two
categories by default namely: 'Default' and 'Birthday'. The 'default' category
cannot be deleted but can be modified. Clicking on 'Add' opens the category edit
window. Selecting a category from the list opens the category edit window in
'edit mode'.

**Category Edit Window**

![Category Edit Window](images/category_edit.png)

Category details: name and color can be filled here. Clicking on delete button
will delete the category if in edit mode. The color is the category indicator
which is displayed alongside the event name in the events list in main window.
Two categories cannot have the same name and color.

**Preference Window**

![Preference Window](images/preference_window.png)

Currently it contains only two preferences:
* First Day of Week: Sets the first day of week in the calendar widget. It is
set based on the locale preferences by default.
* Show Week Number in Calendar: Displays week number in calendar widget.

**Google Calendar Sync Window:**

![Google Calendar Sync Window](images/sync_window.png)

![Authorization Window](images/authorization_window.png)

This displays the last Google calendar sync status: the time of last sync
attempt and whether the sync failed or succeeded. Clicking on 'Sync' fetches
events from Google Calendar and syncs them with the database. If clicked for the
first time it takes you through the authorization process. Key access for
storing/retrieving refresh token and next sync token is also required.

### Mentors

* [Scott McCreary](https://github.com/scottmc)
* [Kacper Kasper](https://github.com/KapiX)
For more information, please see the [Calendar documentation](http://htmlpreview.github.io/?https://github.com/HaikuArchives/Calendar/master/documentation/Documentation.html).
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file added artwork/main_window.wb
Binary file not shown.
212 changes: 212 additions & 0 deletions documentation/Documentation.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<!--
* Copyright 2017-2021
* Distributed under the terms of the MIT License.
*
* Authors:
Akshay Agarwal
* Humdinger <humdingerb@gmail.com>
-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="robots" content="all" />
<title>Calendar's User Documentation</title>

<style type="text/css">

body {
font-size: 0.9em;
font-family: "DejaVu Sans",Arial,Helvetica,sans-serif;
line-height: 1.5;
margin: 40px;
min-width: 45em;
max-width: 70em;
}
/* link colors and text decoration */

a:link {
font-weight: bold;
text-decoration: none;
color: #dc3c01;
}
a:visited {
font-weight: bold;
text-decoration: none;
color: #892601;
}
a:hover, a:active {
text-decoration: underline;
color: #ff4500;
}

hr {
border: dotted thin #e0e0e0;
}
h1 {
font-size: 1.3em;
border-bottom: dotted thin #e0e0e0;
margin-bottom: 45px;
}
h2 {
font-size: 1.2em;
border-bottom: dotted thin #e0e0e0;
margin-top: 40px;
}
h3 {
font-size: 1em;
border-bottom: none;
margin-bottom: 0px;
}
.key { /* Shortcut (separate with &#160; */
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
border-color: #c7c7c7;
border-style: solid;
border-width: 1px;
padding: 0px 2px 0px 2px;
background-color: #e8e8e8;
font-family: sans;
font-variant: small-caps;
font-size: 1em;
}
.menu { /* Menu */
font-size: 1.0em;
font-family: serif;
font-style: italic;
color: #24225e;
}
.button { /* Button */
font-size: 1.0em;
font-family: serif;
font-style: italic;
color: #33583c;
}
.path { /* File path */
background-color: #e8e8e8;
font-size: 0.9em;
font-family: monospace;
}
td.onelinetop {
vertical-align: top;
white-space: nowrap;
}
ol {
padding-left: 20px;
}
ul {
padding-left: 14px;
}

/* Rounded corner boxes */
/* Common declarations */
.box-info {
-webkit-border-radius: 10px;
-khtml-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
border-style: dotted;
border-width: thin;
border-color: #dcdcdc;
padding: 10px 15px 10px 80px;
margin-bottom: 15px;
margin-top: 15px;
min-height: 42px;
}
.box-info {
background: #e4ffde url(images/alert_info_32.png) 15px 15px no-repeat;
}
</style>

</head>
<body>
<div align = "center">
<a href="https://github.com/HaikuArchives/Calendar">
<img src="./images/calendar_icon_64.png" alt="Calendar icon" /></a>
<p><span style="font-size: 1.5em; font-weight:bold">Calendar's User Documentation</span></p>
<hr />
<p id="index"><a href="#eventmanager">Event manager</a><a href="#categorymanager">Category manager</a><a href="#settings">Settings</a><a href="#help">Help</a></p>
</div>
<hr />
<p><br /></p>

<p>Calendar is a native Haiku application to manage your appointments. It was originally developed by Akshay Agarwal for the Google Summer of Code of 2017, see his <a href="https://www.haiku-os.org/blog/akshayagarwal007/">Blog posts</a> about it. It's further developed and maintained by developers at <a href="https://github.com/HaikuArchives/Calendar">HaikuArchives</a>.</p>
<p>You can create, edit and delete events, and cancel or hide them, categorize events and show them in a day, week or month view.</p>

<div align="center">
<img src="images/main_window.png" alt="The main window" />
</div>

<p>At the top left is today's date (click it to jump back to "today" from whenever you are in the calendar). Below is a calendar view, highlighting the currently shown date. Days with events are tinted as well; the more events on a day, the darker they get. Go figure... :)</p>

<p>To the right is the actual list of events. With the tabs at the top, you set the view to show all events for that <span class="menu">Day</span>, <span class="menu">Week</span>, or <span class="menu">Month</span>.</p>

<p>Right-click an event to get a context menu to create a <span class="menu">New</span> event, or <span class="menu">Edit</span>, <span class="menu">Delete</span>, <span class="menu">Cancel</span> or <span class="menu">Hide</span> an existing event.<br />
Hidden and deleted events can remain visible by activating <span class="menu">View | Show hidded/deleted events</span> and are then tinted red. Deleted events are moved to the system's Trash. If you empty the Trash, your events will be truely gone and cannot be "un-deleted" any more!</p>

<h2>
<a href="#"><img src="images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="eventmanager" name="eventmanager">Event manager</a></h2>

<p>Double-clicking an event also edits an event. As when creating a new event, it opens the <i>Event manager</i>.

<div align="center">
<img src="images/event_manager.png" alt="The event manager" />
</div>

<p>The <i>Event manager</i> lets you set all the details of an event:
<ul>
<li>Add a <span class="menu">Name</span>, <span class="menu">Place</span> and <span class="menu">Description</span>.</li>
<li>Define as an <span class="menu">All day</span> event or set <span class="menu">Start/End date and time</span> (click the "▼" button for a pop-up calendar for the date, the time setting is HH:mm (24-hour format)).</li>
<li>Optionally choose a monthly or yearly <span class="menu">Recurrence</span> (not implemented yet).</li>
<li>Set the <span class="menu">Status</span> to <span class="menu">Cancelled</span> or <span class="menu">Hidden</span> (also done with the context menu of the main window).</li>
</ul></p>

<h2>
<a href="#"><img src="images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="categorymanager" name="categorymanager">Category manager</a></h2>

<p>You can create and edit event categories by invoking <span class="menu">Category | Manage...</span>.</p>

<div align="center">
<img src="images/category_manager.png" alt="The category manager" />
</div>

<p>Calendar comes with only two categories preinstalled: "Default" and "Birthday". The "Default" category
cannot be deleted but can be modified. Click on <span class="button">New...</span> or select a category and click <span class="button">Edit...</span> to open the <i>Category edit</i> window:</p>

<div align="center">
<img src="images/category_edit.png" alt="The category edit window" />
</div>

<p>Here you simply enter the name of the category and choose a color for it.</p>

<h2>
<a href="#"><img src="images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="settings" name="settings">Settings</a></h2>

<p><span class="menu">App | Settings...</span> opens a window with a few available options:</p>

<div align="center">
<img src="images/settings.png" alt="The settings window" />
</div>

<p>
<ul><li>Set the <span class="menu">Default category</span> for newly created events.</li>
<li>Have the <span class="menu">First day of the week</span> either to whatever the system locale says, or choose a specific day.</li>
<li>Choose to <span class="menu">Show week numbers in calendar</span>.</li>
</ul></p>

<h2>
<a href="#"><img src="images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="help" name="help">Help</a></h2>
<p>Please report bugs or create feature requests at <a href="https://github.com/HaikuArchives/Calendar/issues">Calendar's issue tracker at GitHub.</a><br />
You can help translate Calendar to even more languages at <a href="https://i18n.kacperkasper.pl/projects/28">Polyglot</a>.</p>

</body>
</html>
Binary file added documentation/images/calendar_icon_64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/images/category_edit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/images/category_manager.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/images/event_manager.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/images/main_window.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/images/settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/images/up.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/authorization_window.png
Binary file not shown.
Binary file removed images/calendar_icon_64.png
Binary file not shown.
Binary file removed images/calendar_preview_1.png
Binary file not shown.
Binary file removed images/calendar_preview_2.png
Binary file not shown.
Binary file removed images/category_edit.png
Binary file not shown.
Binary file removed images/category_manager.png
Binary file not shown.
Binary file removed images/category_manager_2.png
Binary file not shown.
Binary file removed images/event_manager.png
Binary file not shown.
Binary file removed images/event_manager_2.png
Binary file not shown.
21 changes: 0 additions & 21 deletions images/icons/app_icon.rdef

This file was deleted.

Binary file removed images/main_window.png
Binary file not shown.
Binary file removed images/notification_gif.gif
Binary file not shown.
Binary file removed images/preference_window.png
Binary file not shown.
Binary file removed images/sync_window.png
Binary file not shown.
Loading