GithubHelp home page GithubHelp logo

qnote's Introduction

QNote

A modern, fully-featured note taking app for Linux
Built with Qt 5, Qt Dropbox, and ❤️

Screenshots

alt_text

Feature List TODO

  • Autocomplete
  • External Text Parsing Engine
  • Google Drive Integration
  • Dropbox Integration
  • Automatic Saving of files
  • Inline latex substitution

Proposed Features

  • Conversion from actual notes (using Camera and OpenCV), perhaps something like this for latex

Notes

As always, this project will abide by our coding guidelines

qnote's People

Contributors

pybae avatar mck782 avatar tycheng avatar

Stargazers

 avatar Seal avatar Andrew Vohl avatar  avatar

Watchers

Seal avatar Thien Vo avatar  avatar  avatar Tim Sherlock avatar  avatar  avatar

qnote's Issues

Deferred Text Loading

image

I have been testing the app for the last hour and feel like there is need to implement this. Modern UI should not block during doing something in the background. This is a difference between terminal command line and GUI.

Therefore I suppose we can create a QThread to load file in the background, use the progress bar to track the percentage of file loading. During this period, we should allow user to do whatever they want.

0.01 UI Design

Made a sketch of the basic UI:
aj1qiup
The MainTextRegion should be implemented with text buffers

Last edited timestamp

clicking on the file and highlighting/clicking on a spot on the file results in the "last edited timestamp" (is that what we have?) to change to the current time and date.

suggestion: use keystrokes as a trigger to note that an edit is taking place?

Storing the QFile

In our implementation as of now, we have a private QFile member that tracks the current file we are working on. However, as we can't freely assign QFiles, such as (QFile member = QFile('fileName')), I was thinking of simply using the fileName and then looking up the file when we have to edit something with the file.

This leads to the following design:
1. Having a fileName as an identifier
2. Needing to search up the fileName for every operation on the file
3. Requiring a textBuffer (or something of the sort, it's QTextStream for now) for the current file

And if an user happens to modify the file whilst we haven't updated yet (or deleted the file entirely) we would check that in our methods, and throw an error.

What do you guys think?

Printing current file

Printing the current file.

Things of concern. qt5 has extrapolated all of it's printing methods to QtPrintSupport, so we're going to be using that library (might have to update soon), and I've already included it.
Sadly, there isn't a lot of documentation on it, so we'll have to poke around and do our best on it.

Also, prompt to save on printing the file as well

Name

Naming the app,
feel free to pitch any ideas here

Update New, Save, Print

As of now, the New, Save, Print functions all require the new dynamic implementation to work correctly.
Will implement once we have them working

Opening up a large file somehow changed its format

While opening a .o file within my build directory, the app took quite a long time to open it so i tried to exit. It wouldn't respond so a window popped up asking me if i wanted to force quit. I clicked yes and the notetaking app closed. After trying to run the app again, i got an error telling me that the .o file i opened up previously with the notetaking app had an unrecognized file format.

TextBuffers

Change the implementation of the mainTextEdit to instead of using streams, use a custom buffer implementation.

Need to test for larger files right now to see how our implementation scales up

Fonts

Making people argue
Comic Sans go!

Same name will edit both files

make a folder and name a file that is the same as the file outside of the folder

eg a.txt and folder/a.txt

it displays a.txt and a.txt on the entry (a bit bad, user couldn't differentiate which files)
worse is when user tried to edit 1 of the files, both files changed.

p/s: this could be due to our implementation of absolute path

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.