Coder Social home page Coder Social logo

chungzh / notepanda Goto Github PK

View Code? Open in Web Editor NEW
311.0 11.0 60.0 4.43 MB

📃 A simple cross-platform notepad. Based on Qt and C++.

Home Page: https://t.me/notepanda

License: MIT License

C++ 89.42% CMake 10.58%
qt cpp text notepad qt5 kde cmake cpp11 arch editor

notepanda's Introduction

banner

Notepanda's icon is owned by ChungZH, any unanthorized usage will be blamed.

Notepanda

Codacy Badge C++ & Qt FOSSA Status

LICENSE Made with love Build CI

A simple cross-platform notepad. Based on Qt and C++.

If you want to track the latest news of Notepanda, welcome to our 📰 Telegram channel!

BTW you can read this post in my blog: Notepanda 开发小结

Why write this text editor?

I recently started getting started with Qt, this is my first Qt project, the first C++ project, and the first project in my life. I hope to develop my skills through this project.

I'm not going to use this as a replacement for my other text editors because it's too simple and I am too poor :)

So enjoy this toy 🍵️

Screenshots

Light Dark
Light Dark
Light Dark

Feature

  • Basic operation
  • Line numbers
  • Syntax highlight
  • Launch from the shell by typing: notepanda or notepanda CMakeLists.txt
  • Preview panel (Support Markdown & HTML)
  • Opening files with Drag and Drop.

Install

If you are Windows / MacOS / Linux user, you can go to Releases page.

If you are using Scoop, you can get Notepanda from my sweet scoop bucket 🍑 peach:

scoop bucket add peach https://github.com/ChungZH/peach
scoop install notepanda

If you are Arch Linux (or Arch-based distros) user, you can get Notepanda from AUR. AUR Badge

You may use an AUR helper such as yay to automatically handle the build process of AUR packages:

yay -S notepanda

The latest version is v0.1.4 now.

Build

For more information, go to How to build - GitHub Wiki.

Required Tools

Required Dependencies

Roadmap

See Projects.

Contributions / Bugs

PRs Welcome

You want to contribute to Notepanda? Awesome! Please read the contribution guidelines for details and useful hints. There is no rules now!

If you found a bug or have a feature request, you can report it GitHub Issue.

🙇‍♂️️ Thank you very much!

Special Thanks

Copyright

Copyright (c) ChungZH.

Libraries that have been used in Notepanda are listed below (Sorted by date added):

LICENSE

⚖ Released under the MIT license.

FOSSA Status


🗒️ Notepanda © ChungZH.

Blog · Portfolio · GitHub

notepanda's People

Contributors

chungzh avatar codacy-badger avatar fossabot avatar github-actions[bot] avatar imgbotapp avatar pzhlkj6612 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notepanda's Issues

dll文件找不到

由于找不到 KF5SyntaxHighlighting.dll,无法继续执行代码。重新安装程序可能会解决此问题。 
由于找不到 VCRUNTIME140D.dll,无法继续执行代码。重新安装程序可能会解决此问题。 
由于找不到 ucrtbased.dll,无法继续执行代码。重新安装程序可能会解决此问题。 
由于找不到 MSVCP140D.dll,无法继续执行代码。重新安装程序可能会解决此问题。 

Configuration file

Make ConfigManager can output and read configuration files.

  • Output JSON config file
  • Read JSON config file

[Feature request] QtWidgets -> QtQuick!

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

In QtWidgets, it is difficult to make beautiful interfaces.
But QtQuick can!

Describe the solution you'd like

A clear and concise description of what you want to happen.

MOVE TO QtQuick!

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

I'm working on this in cutenp.

Sticky notes mode

  • Only Markdown syntax highlight.
  • Custom BG color.
  • New sidebar (or No)
  • No statusbar.
  • General font.
  • No LineNumberArea.
  • Smaller window.
  • Disable PreferencesWindow (All the SN Mode settings must in sidebar or statusbar)
  • Pin to top

[Feature request]Linux ARM support

Is your feature request related to a problem? Please describe.
Notepanda currently cannot run on Linux ARM devices.

Describe the solution you'd like
Add Linux ARM support (Provide armhf and arm64 deb packages)

Describe alternatives you've considered
At least provide a binary package of Linux ARM.

Additional context

No.

On windows, all content is lost when saving files

Briefly describe this bug:

On windows, all content is lost when saving files.

How can I trigger this bug:

  1. Open a file
  2. Edit it
  3. Save it

What is expected to happen

Screenshots

If appropriate, please attach some screenshots.

System Information

  • OS Type(Windows, Linux or macOS): ALL
  • Built from the source or download from the release: Both
  • Version string in the AboutWindow: 0.0.3-alpha1

Affected Notepanda installation source

  • ArchLinux AUR
  • Compile manually
  • Github Release

Other Info

You may want to write anything if you think it helps us to fix the bug.

[Feature request] Better UI

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Qt's Fusion theme isn't pretty enough.

Describe the solution you'd like

A clear and concise description of what you want to happen.

Make a Qt Theme. Learn Deepin's chanmeleonstyle.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

[Feature request] New PreferencesWindow

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The current layout of PreferencesWindow is confusing and needs a BIG CHANGE.

Describe the solution you'd like

A clear and concise description of what you want to happen.

Navigation on the left, settings on the right.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

Deepin editor's settings window is doing a great job of that.

image

[Feature request] Multi-tab

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

One window, many tabs, many files.

Describe the solution you'd like

A clear and concise description of what you want to happen.

Open multiple files in one window at the same time.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

QTabBar.

build error

Question description
build the 3rdparty syntax-highlighting\ error ,when execute

C:\workspace\notepanda\src\3rdparty\syntax-highlighting\build>cmake --build `

Environment win 10, qt Qt5.14.2/5.14.2
set(Qt5_DIR "C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\cmake\Qt5")

C:\workspace\notepanda\src\3rdparty\syntax-highlighting\build>cmake --build .
[5/46] Building CXX object src/indexer/CMakeFiles/katehighlightingindexer.dir/katehighlightingindexer.cpp.obj
FAILED: src/indexer/CMakeFiles/katehighlightingindexer.dir/katehighlightingindexer.cpp.obj
C:\Strawberry\c\bin\c++.exe  -DHAS_SYNTAX_RESOURCE -DKF_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x050d00 -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_QSTRINGBUILDER -DQT_XMLPATTERNS_LIB -DUNICODE -DWIN32_LEAN_AND_MEAN -DWINVER=0x0600 -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D_USE_MATH_DEFINES -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0600 -Isrc/indexer -I../src/indexer -Isrc/indexer/katehighlightingindexer_autogen/include -I. -isystem C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include -isystem C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtXmlPatterns -isystem C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtNetwork -isystem C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore -isystem C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/./mkspecs/win32-msvc -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -fdiagnostics-color=always -pedantic -O3 -DNDEBUG -fvisibility=hidden -fno-keep-inline-dllexport   -std=c++11 -std=gnu++11 -MD -MT src/indexer/CMakeFiles/katehighlightingindexer.dir/katehighlightingindexer.cpp.obj -MF src\indexer\CMakeFiles\katehighlightingindexer.dir\katehighlightingindexer.cpp.obj.d -o src/indexer/CMakeFiles/katehighlightingindexer.dir/katehighlightingindexer.cpp.obj -c ../src/indexer/katehighlightingindexer.cpp
In file included from C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qatomic.h:46:0,
                 from C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qglobal.h:1302,
                 from C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qcoreapplication.h:43,
                 from C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/QCoreApplication:1,
                 from ../src/indexer/katehighlightingindexer.cpp:24:
C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qbasicatomic.h:61:4: error: #error "Qt requires C++11 support"
 #  error "Qt requires C++11 support"
    ^
C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qbasicatomic.h:94:13: error: 'QAtomicOps' does not name a type
     typedef QAtomicOps<T> Ops;
             ^
In file included from C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qcoreapplication.h:43:0,
                 from C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/QCoreApplication:1,
                 from ../src/indexer/katehighlightingindexer.cpp:24:
C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qbasicatomic.h:97:5: error: 'QAtomicOpsSupport' was not declared in this scope
     Q_STATIC_ASSERT_X(QAtomicOpsSupport<sizeof(T)>::IsSupported, "template parameter is an integral of a size not supported on this platform");
     ^
C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qbasicatomic.h:97:5: error: '::IsSupported' has not been declared
     Q_STATIC_ASSERT_X(QAtomicOpsSupport<sizeof(T)>::IsSupported, "template parameter is an integral of a size not supported on this platform");
     ^
C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qbasicatomic.h:97:5: error: non-constant condition for static assertion
     Q_STATIC_ASSERT_X(QAtomicOpsSupport<sizeof(T)>::IsSupported, "template parameter is an integral of a size not supported on this platform");
     ^
In file included from C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include/QtCore/qatomic.h:46:0,

Better LOGO

I saw your project on GitHub and I truly wanted to help.

I would love to help to improve your logo.

Error when clone

Maybe submodules with ssh link cause an error when cloning...
Can you commit it using link https?

Add more font settings

Describe your feature request:

Add more font settings:

  • Set font weiget QFont::setWeight()
  • Setting up multiple font families QFont::setFamilies()
    This feature maybe introducing a BREAKING CHANGE.
    ATTENTION: This function was introduced in Qt 5.13

What problem does this feature solve? [optional]

Additional context [optional]

Autosave

Describe your feature request:

Adding an auto-save feature.
User can setting:

  • afterDelay
  • onFocusChange
  • onWindowChange

(like VS Code)

What problem does this feature solve? [optional]

Preview panel cannot real-time preview. (#23)

Additional context [optional]

Misuse of license notice

The following license notice is used throughout the project repository:

Copyright (c) 2020 ChungZH. All Rights Reserved.

Generally, this is a valid license notice. However, by "all rights reserved", all rights provided by the copyright law is reserved to yourself, including most of the rights granted by the MIT License, which renders the latter invalid.

To properly license the project with MIT License, the "all rights reserved" term should be removed from the license notice. On the other hand, if "all rights reserved" is exactly what you want, it is recommended to remove the MIT license, as it would bring you trouble when it comes to jurisdiction.

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.